# 忘れないようにメモ
0xF=0b1111:0x一文字は 4bits0xFF=0b1111 1111:0x二文字は 8bits(1byte)
#
if (n & (n-1)) == 0
| |
なので,if (n & (n-1)) == 0が true なら?????が00000であり,つまりxxxxxが00000であるから,
| |
ということになる.
if (n & (n-1)) == 0は「nが 2 のべき乗であるか」を確認している.