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) |