/* Author: James Tam Date: April 10, 2003 An exmample to illustrate how the bitwise operators (AND, OR, XOR) work in C. */ int main () { char data, key, temp; data = 'P'; // ASCII (decimal) = 80 (binary) = 01010000 key = 'U'; // ASCII (decimal) = 85 (binary) = 01010101 temp = data & key; printf("BITWISE AND (char decimal octal hex\n"); printf("\tdata: %4c, %4d, %4o, %4x\n", data, data, data, data); printf("\tkey: %4c, %4d, %4o, %4x\n", key, key, key, key); printf("\td&k %4c, %4d, %4o, %4x\n\n", temp, temp, temp, temp); temp = data | key; printf("BITWISE OR (char, decimal, octal, hex\n"); printf("\tdata: %4c, %4d, %4o, %4x\n", data, data, data, data); printf("\tkey: %4c, %4d, %4o, %4x\n", key, key, key, key); printf("\td&k %4c, %4d, %4o, %4x\n\n", temp, temp, temp, temp); key = 32; // binary = 00100000 temp = data ^ key; printf("EXCLUSIVE OR (char, decimal, octal, hex\n"); printf("\tdata: %4c, %4d, %4o, %4x\n", data, data, data, data); printf("\tkey: %4c, %4d, %4o, %4x\n", key, key, key, key); printf("\td&k %4c, %4d, %4o, %4x\n\n", temp, temp, temp, temp); return(0); }