blob: 5844f61dd8abeff87bdcc5a23cd88b67de684d16 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
/****************************************************************************
*
* Purpose: To show the effect of a bitwise AND (&) by converting
* an ASCII graphic extension into its character equivalent.
* Author: M.J. Leslie.
* Date: 04-Mar-95
*
****************************************************************************/
main()
{
/*
* Hex E6 looks like this in binary
*
* 1110 0110
*
* UNSIGNED is used to stop C using
* first 1 as an indicator of the sign
*/
unsigned char value='\xE6';
/* Hex 7F looks like this in binary
*
* 0111 1111
*/
printf("%2X %2X \n", value, (value & '\x7F'));
/* A bitwise AND has the effect of
* filtering unwanted bits.
*
* 1110 0110 (E6) AND
* 0111 1111 (7F)
* ---------
* 0110 0110 (66)
*/
}
/****************************************************************************
*
* Program results are:
*
* E6 66
*
****************************************************************************/
|