フリーキーズ | 独学プログラミング

シフト演算とは

最終更新日

ある数値の桁(通常は2進数)をある位置だけ左または右に移動させる操作を「シフト演算」と呼びます。この操作は、計算機において、算術演算やデータ操作を素早く行うために頻繁に使用されます。シフト演算には、主に論理シフトと算術シフトの2種類があります。

シフト演算を理解するために、例えを用いて説明しましょう。数字が書かれたブロックが並んでいて、それを左右にずらしたい場合を考えてみましょう。シフト演算は、ブロックを目的の方向にスライドさせるようなもので、一方の端からスライドしたブロックは消え、もう一方の端に新しいブロックが現れる。

2進数を使った例を見てみましょう

2進数の1010という数字があり、これは10進数の10と等しいとします。2進数1010は10進数の10に相当し、これを1つ左シフトすると、2進数0100となり、10進数の4に相当する。左端の数字(1)は端から滑って消え、右側に新しい0が出現していることに注目してください。

右シフトを使ったもう一つの例を紹介します

2進数1010(10進数10)をもう一度考えてみましょう。2進数1010(10進数10)を再び右シフト演算すると、2進数0101となり、10進数5と等しくなる。右端の桁(0)は端から滑って消え、左側には新しい0が現れる。

まとめ

まとめると、シフト演算は情報科学において、ある数値(通常は2進数)の桁をある位置だけ左または右に移動させるために使用されます。計算機で算術演算をしたり、データを操作したりするのに便利です。