シフトとは

シフトとは、
「位置を移動すること」である。

つまりシフト演算とは、数字の位置を移動した時にどういう値に変化するかを計算することである。

これには規則があり、
n進数の数をz桁分シフトする時、
左シフトの場合はnのz乗倍になる。
右シフトの場合はnの-z乗倍になる。

というものだ。

しかし、これだけでは実際のイメージがつかみにくいので、
具体的な値を使用してみる。

シフト演算の具体例

10進数の数を1桁、左シフトする時はどうなるのか?

例えば、
「1234」という数字があったとしよう。

結果は簡単にわかると思う、
「12340」という結果になる。

これは、10の1乗倍なので、「12340」という結果になった。

単純過ぎて申し訳ないので、
次は16進数を3桁シフトする。

「B7A8」という数字を「B7A8000」という数字にした時に何倍になっているか?

これを確認する時には、先程の規則が役に立つ。

左シフトなので、16の3乗倍されているという事がわかる。

具体的に言うと、16×16×16である。

答えは「4096倍」である。

これは、基本情報技術者試験で出題されることが結構あるので、覚えておくと結構役に立つはずだ。