Last Update 2012/07/05
ビットシフト演算子は次の通りです。
<<
演算子の右側の値のビット数だけ左にシフトした値を返す。
>>
演算子の右側の値のビット数だけ右にシフトした値を返す。左端のビットはシフト対象の数と同一の値となる。
(例)
#include <stdio.h>
int main ()
{
printf("1 << 2 : %d\n", (1 << 2));
printf("8 >> 2 : %d\n", (8 >> 2));
printf("8 >> 5 : %d\n", (8 >> 5));
printf("-128 >> 2 : %d\n", (-128 >> 2));
printf("-128 >> 8 : %d\n", (-128 >> 8));
return 0;
}
実行結果
1 << 2 : 4
8 >> 2 : 2
8 >> 5 : 0
-128 >> 2 : -32
-128 >> 8 : -1