// C Program to demonstrate use of bitwise operators
#include <stdio.h>
#include<iostream>
using namespace std;
int main()
{
// a = 5(00000101), b = 9(00001001)
unsigned char a = 'A', b = 9;
cout<<a<<endl;
a=65;
cout<<a<<endl;
printf("a = %c, b = %d\n", a, b);
// The result is 00000001
printf("a = %d, b = %d\n", a, b);
printf("a&b = %d\n", a & b);
// The result is 00001101
printf("a|b = %d\n", a | b);
// The result is 00001100
printf("a^b = %d\n", a ^ b);
// The result is 11111010
printf("~a = %d\n", a = ~a);
// The result is 00010010
printf("b<<1 = %d\n", b << 1);
// The result is 00000100
printf("b>>1 = %d\n", b >> 1);
return 0;
}
Ly8gQyBQcm9ncmFtIHRvIGRlbW9uc3RyYXRlIHVzZSBvZiBiaXR3aXNlIG9wZXJhdG9ycyAKI2luY2x1ZGUgPHN0ZGlvLmg+IAojaW5jbHVkZTxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKSAKeyAKICAgIC8vIGEgPSA1KDAwMDAwMTAxKSwgYiA9IDkoMDAwMDEwMDEpIAogICAgdW5zaWduZWQgY2hhciBhID0gJ0EnLCBiID0gOTsgCiAgICBjb3V0PDxhPDxlbmRsOwogICAgYT02NTsKICAgIGNvdXQ8PGE8PGVuZGw7CiAgICAKICBwcmludGYoImEgPSAlYywgYiA9ICVkXG4iLCBhLCBiKTsKICAgIC8vIFRoZSByZXN1bHQgaXMgMDAwMDAwMDEgCiAgICBwcmludGYoImEgPSAlZCwgYiA9ICVkXG4iLCBhLCBiKTsgCiAgICBwcmludGYoImEmYiA9ICVkXG4iLCBhICYgYik7IAogIAogICAgLy8gVGhlIHJlc3VsdCBpcyAwMDAwMTEwMSAKICAgIHByaW50ZigiYXxiID0gJWRcbiIsIGEgfCBiKTsgCiAgCiAgICAvLyBUaGUgcmVzdWx0IGlzIDAwMDAxMTAwIAogICAgcHJpbnRmKCJhXmIgPSAlZFxuIiwgYSBeIGIpOyAKICAKICAgIC8vIFRoZSByZXN1bHQgaXMgMTExMTEwMTAgCiAgICBwcmludGYoIn5hID0gJWRcbiIsIGEgPSB+YSk7IAogIAogICAgLy8gVGhlIHJlc3VsdCBpcyAwMDAxMDAxMCAKICAgIHByaW50ZigiYjw8MSA9ICVkXG4iLCBiIDw8IDEpOyAKICAKICAgIC8vIFRoZSByZXN1bHQgaXMgMDAwMDAxMDAgCiAgICBwcmludGYoImI+PjEgPSAlZFxuIiwgYiA+PiAxKTsgCiAgCiAgICByZXR1cm4gMDsgCn0g