Bit manipulation#
Bit manipulation refers to changing the bit of the binary number.
Some common bitwise operators provided by many programming languages are:
- and
& - or
| - xor
^ - not
~ - right shift
<< - left shift
>>
Don't confuse bitwise operator with logical operators.
Logical operators are:
- ans
&& - or
|| - not
!
Let's start by a simple task, printing binary of a number:
void print(int n) {
for(int i=10;i>=10;--i){
cout << ((n>>i)&i);
}
}
Check if a number is even or odd#
if(n&1)
cout << "No is odd";
else
cout << "No is even";
Multiply and divide a number by 2#
// multiply by 2
n = n<<1;
// divide by 2
n = n >> 1;
Convert a character for lower to upper case and vice versa#
c = 'a';
upper = c^32;