File: and.c

package info (click to toggle)
c-cpp-reference 2.0.2-6
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 8,012 kB
  • ctags: 4,612
  • sloc: ansic: 26,960; sh: 11,014; perl: 1,854; cpp: 1,324; asm: 1,239; python: 258; makefile: 115; java: 77; awk: 34; csh: 9
file content (44 lines) | stat: -rw-r--r-- 1,085 bytes parent folder | download | duplicates (5)
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
 *
 ****************************************************************************/