Bit Manipulation
May 11, 2024
Basics
Not 1 = 0
Not 0 = 1
And
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
OR
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
XOR
1 ^ 1 = 1
1 ^ 0 = 0
0 ^ 1 = 0
0 ^ 0 = 1
Bit Shifting
<< k
left-shifts by k
bits. It drops off the k
left most bits and adds new bits on the k
right most positions set them to 0
. This is equivalent to multiplying by .
>> k
right-shifts by k
bits. It drops off the k
right most bits and adds new bits on the k
left most positions set them to 0
. This is equivalent to dividing by .
Masking
&0
to turn off all bits.
|1
to turn on all bits.