diff options
Diffstat (limited to 'reference/C/EXAMPLES/and.c')
-rw-r--r-- | reference/C/EXAMPLES/and.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/reference/C/EXAMPLES/and.c b/reference/C/EXAMPLES/and.c new file mode 100644 index 0000000..5844f61 --- /dev/null +++ b/reference/C/EXAMPLES/and.c @@ -0,0 +1,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 + * + ****************************************************************************/ |