blob: 20ca53229f5427c79901da7925fa854c92f525a6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// [lsb: 0-th bit, msb: n-th bit,]
//Get j-th bit:
(a & (1 << j)) != 0
//Set j-th bit:
a |= (1 << j)
//Clear j-th bit:
a &= ~(1 << j)
//Toggle j-th bit:
a ^= (1 << j)
//Get value of first set bit:
(a & -a)
//Turn on all bits:
a = -1
//Turn on first n bits:
a = (1 << n) - 1
|