This is the second series from "Trilogy Of Bit Manipulation".
int x = 0;
x |= (1<<2); // x = 00000100
x |= (1<<4);
To clear the k-th bit, we can use & and ~ operator.
x = x & ~(1<<2); // I clear the 2-th bit.
How does it work ?
& is AND operation:
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
~ is NEGATE operation:
~ 1 = 0
~ 0 = 1
x = x & ~(1<<2); // long version
x &= ~(1<<2); // short version
initial x = 17 = 00010001
and I want to clear the 0-th bit.
(1<<0) = 00000001
~(1<<0) = 11111110
00010001
11111110
-------- AND operation
00010000 (the 0-th bit is clear)
:hi: sombong :D
ReplyDeletebit me than :p