論理シフトとは何か?

論理シフトとは?

論理シフトは、コンピュータの演算処理の一つで、2進数を構成するビット列を、左または右に一定数だけずらす操作です。これは、乗算や除算、ビットマスクなどの処理に利用されます。

論理シフトの種類

論理シフトには、以下の2種類があります。

  • 左論理シフト: ビット列を左にずらす操作です。左に1ビットずらすと、2倍になります。
  • 右論理シフト: ビット列を右にずらす操作です。右に1ビットずらすと、2分の1になります。

論理シフトの例

例えば、10進数10を2進数に変換すると、1010となります。

  • 左論理シフト: 1010を左に1ビットずらすと、10100となり、10進数20になります。これは、2倍になったことを意味します。
  • 右論理シフト: 1010を右に1ビットずらすと、101となり、10進数5になります。これは、2分の1になったことを意味します。

論理シフトの用途

論理シフトは、以下のような用途で利用されます。

  • 乗算: 左論理シフトは、2の累乗を表すために利用できます。
  • 除算: 右論理シフトは、2で割るために利用できます。
  • ビットマスク: 特定のビット列を抽出するために利用できます。

論理シフトの注意点

論理シフトは、符号ビットを含むすべてのビットをシフトします。そのため、符号付きの数をシフトすると、符号が変わってしまう可能性があります。

まとめ

論理シフトは、コンピュータの演算処理において重要な役割を果たす操作です。左論理シフトは2倍、右論理シフトは2分の1になることを覚えておくと、理解しやすくなります。

参考資料