Inspired by http://yohshiy.blog.fc2.com/blog-entry-296.html
16パターンくらい全部暗記すればいいじゃんと言われても、脳内記憶域が足りネーヨって場合の覚え方+導出方法。最終的には個人のお好みで。
2のべき乗
2進数の基本。ビット和(|)で特定ビットを立てる(set)ビットマスク。
| 16進数 | 2進数 | 備考 |
|---|---|---|
1 |
0001 |
1番目のビット(LSB) |
2 |
0010 |
2番目のビット(1<<1) |
4 |
0100 |
3番目のビット(1<<2) |
8 |
1000 |
4番目のビット(1<<3) |
(2のべき乗)-1
ビット積(&)で下位ビット(LSB側)を抽出するビットマスク。
| 16進数 | 2進数 | 備考 |
|---|---|---|
1 |
0001 |
下位1ビット((1<<1)-1) |
3 |
0011 |
下位2ビット((1<<2)-1) |
7 |
0111 |
下位3ビット((1<<3)-1) |
F |
1111 |
下位4ビット((1<<4)-1) |
ビットパターン模様
ビットパターンの見た目をイメージ記憶。
| 16進数 | 2進数 | 備考 |
|---|---|---|
3 |
0011 |
Cのビット反転(~C) |
C |
1100 |
3のビット反転(~3) |
5 |
0101 |
Aのビット反転(~5) |
A |
1010 |
5のビット反転(~A) |
その他
0は自明。+1/-1くらいは暗算しましょう。
| 16進数 | 2進数 | 備考 |
|---|---|---|
0 |
0000 |
自明(でしょ?) |
6 |
0110 |
7(0111)の前(-1) |
9 |
1001 |
8(1000)の次(+1) |
B |
1011 |
A(1010)の次(+1) |
D |
1101 |
C(1100)の次(+1) |
E |
1110 |
F(1111)の前(-1) |