From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/EXAMPLES/and.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 reference/C/EXAMPLES/and.c (limited to 'reference/C/EXAMPLES/and.c') 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 + * + ****************************************************************************/ -- cgit v1.2.3-54-g00ecf