/* * demo of bitwise C operations */ #include void printbits(unsigned char v); int main(void) { unsigned char a, b, c, d, e; a = 0b10111111; b = 0b11111011; c = 0b11101111; d = 'a'; e = 'b'; printf("a: "); printbits(a); printf("\n"); printf("b: "); printbits(b); printf("\n"); printf("c: "); printbits(c); printf("\n"); printf("c>>2: "); printbits(c>>2); printf("\n"); printf("b<<2: "); printbits(b<<2); printf("\n"); printf("a|b: "); printbits(a|b); printf("\n"); printf("a&b: "); printbits(a&b); printf("\n"); printf("a^b: "); printbits(a^b); printf("\n"); printf("\n"); printf("d: "); printbits(d); printf("\n"); printf("e: "); printbits(e); printf("\n"); printf("e-d: "); printbits(e-d); printf("\n"); printf("d^e: "); printbits(d^e); printf("\n"); printf("d^e^d: "); printbits(d^e^d); printf("\n"); return 0; }