ビット演算子のメモ
# 10進数を2進数に変換 (16進数も)
// 1 = 0000000000000001( 1)
// 2 = 0000000000000010( 2)
// 4 = 0000000000000100( 4)
// 8 = 0000000000001000( 8)
// 10 = 0000000000001010( A)
// 15 = 0000000000001111( F)
// 16 = 0000000000010000( 10)
// 31 = 0000000000011111( 1F)
// 32 = 0000000000100000( 20)
// 64 = 0000000001000000( 40)
// 100 = 0000000001100100( 64)
// 128 = 0000000010000000( 80)
// 159 = 0000000010011111( 9F)
// 160 = 0000000010100000( A0)
// 255 = 0000000011111111( FF)
// 256 = 0000000100000000(100)
※1,2,4,8bitを覚えれば、あとはパターンで導けそう
# bit shift
// 下記に練習、sample
{
int x=5; // 0000000000000101
printf("%d,%d,%d",x,x<<2,x>>2);
// 0000000000010100 = 20 (x<<2)
// 0000000000000001 = 1 (x>>2)
}