シフト演算 基本情報技術者試験
数値の扱い
シフト演算 論理シフト
次に、1ビット右シフトをしてみます。
テキストを見てみると、左側の空いたところには0が入ります。
また、右側へはみ出したデータは無視をします。
そうすると元の2進数00001000は、00000100となります。
これを10進数で表すと、4となります。
更に1ビット右シフトすると、00000010となり、10進数では2となります。
1ビット右シフトするのと、元のデータの1/2倍となり、2ビット右シフトすると、1/4倍になります。
このように、Nビット 右ソフトすると、元の数の2の-N乗倍となります。
ここで、論理シフトについて整理をすると、
- シフトをして、はみ出したデータは無視をする。
- 空いたところには0を代入する。
- 1ビット左シフトすると元の数の2倍、2ビット左シフトすると元の数の4倍となり、Nビット左シフトすると、元の数の2のN乗倍となります。
- 1ビット右シフトすると元の数の1/2倍、2ビット右シフトすると元の数の1/4倍となり、Nビット右シフトすると元の数の2の-N乗倍となります。
続きはこちら ↓↓↓