/* C Program to demonstrate use of bitwise operators */
#include<stdio.h>
int main()
{
    unsigned char a = 4, b = 8; // a = 4(00000100), b = 8(00001000)
    printf("a = %d, b = %d\n", a, b);
    printf("a&b = %d\n", a&b); // The result is 00000000
    printf("a|b = %d\n", a|b);  // The result is 00001100
    printf("a^b = %d\n", a^b); // The result is 00001100
    printf("~a = %d\n", a = ~a);   // The result is 11111011
    printf("b<<1 = %d\n", b<<1);  // The result is 00001000 
    printf("b>>1 = %d\n", b>>1);  // The result is 00000010 
    return 0;
}

//Output:
//  a = 4, b = 8
//  a&b = 0
//  a|b = 12
//  a^b = 12
//  ~a = 251
//  b<<1 = 16
//  b>>1 = 4