右シフト

  C/C++ には,整数型や文字型に対して,int 型と unsigned int 型のように,符号付きと符号なしの型があります.以下に示すように,符号付きの場合は,最も左のビット(最上位ビット)は変化せず,また,空いた場所には最上位ビットと同じビットが補充されます.符号なしの場合は,左シフトと同様,すべてのビットがシフトされ,空いた場所に 0 が補充されます.
(1)符号付き  11001111  →  3 ビット右にシフト  →  11111001
(2)符号なし  11001111  →  3 ビット右にシフト  →  00011001