40代からのプログラミング_(初心者奮闘記)

プログラミングに関する学習メモ

ビット演算子のメモ

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