
当サイトを訪れていただきありがとうございます、スマ☆ハピです!
「ビットシフト演算がどうしても分からない…」
ITパスポート試験を勉強していると、多くの人がここでつまずきます。
参考書には「左シフトは2倍」「右シフトは2で割る」と書かれています。
でも、「なぜそうなるの?」という説明はほとんどありません。
そのため、試験本番では暗記した内容を忘れてしまい、問題が少し変わるだけで答えられなくなってしまいます。
実は、ビットシフト演算はとても単純です。
数字を動かしているのではありません。
数字が座る「席」を移動させているだけです。
この記事では、2進数が苦手な方でも理解できるように、0と1の意味から順番に説明します。
「左へ動かすとなぜ2倍になるの?」
「右へ動かすとなぜ半分になるの?」
「コンピュータはなぜビットシフトを使うの?」
この3つの疑問を、一つずつ解決していきましょう。
読み終わるころには、ビットシフト演算が「暗記」ではなく「理解」に変わっているはずです。
- ビットシフト演算とは?
- 私たちが使う数字にも「席」があります
- コンピュータは2進数を使っています
- 「席」を動かすだけで数字が変わる理由
- 左へ動かすと、なぜ2倍になるのでしょうか?
- 「位」が変わると数字の大きさも変わります
- 左シフトを実際に計算してみましょう
- 「×2」を計算しているわけではありません
- コンピュータはなぜビットシフト演算を使うのでしょうか?
- 試験でよく出る問題
- ここまでのポイント
- 右へ動かすと、なぜ半分になるのでしょうか?
- まずは10進数で考えてみましょう
- 2進数で見てみましょう
- 「8÷2」を計算しているわけではありません
- 空いた場所には何が入るのでしょうか?
- 一番右の数字はどこへ行くのでしょう?
- 左へ動かしたときも同じです
- 「<<」と「>>」の意味
- 論理シフトと算術シフトの違い
- 符号ビットとは?なぜ一番左の1ビットが重要なのでしょうか?
- 2の補数とは?コンピュータがマイナスを表す仕組みをやさしく解説
- 符号付き整数・オーバーフロー・浮動小数点数のポイント
- ITパスポート試験直前に覚えるビットシフト演算まとめ
- ビットシフト演算を理解するとコンピュータの中身が見えてきます
- まとめ:ビットシフト演算は「0と1の席替え」と考えると理解しやすい
ビットシフト演算とは?

まず、「シフト」という言葉から考えてみましょう。
シフトには、「ずらす」「移動する」という意味があります。
つまり、ビットシフト演算とは、
0と1を左や右へ移動させる計算のことです。
たったこれだけです。
「演算」という言葉が難しく感じますが、実際には数字を左右へ動かしているだけです。
では、なぜ動かすだけで数字が変わるのでしょうか。
その理由を知るために、「数字の席」について考えてみましょう。
私たちが使う数字にも「席」があります
普段、私たちは10進数を使っています。
例えば、123という数字を見てみましょう。
この数字は、1・2・3という3つの数字が並んでいるだけではありません。
それぞれに役割があります。
右端の「3」は1の位です。
真ん中の「2」は10の位です。
左端の「1」は100の位です。
つまり、100の位 10の位 1の位
1 2 3
という席に座っているのです。
ここで質問です。
「1」を右端へ移動させるとどうなるでしょうか。
123ではなく、321になります。
数字そのものは同じです。
変わったのは「座る場所」だけです。
すると、数字の大きさが変わります。
ビットシフト演算も、これとまったく同じ考え方です。
コンピュータは2進数を使っています
人は10進数を使います。
しかし、コンピュータは2進数しか理解できません。
2進数では、0または1だけを使います。
例えば、0001これは10進数では「1」です。
0010これは「2」です。
0011これは「3」です。
0100これは「4」です。
数字が増えるたびに、左側へ新しい位が増えていきます。
10進数では、
1
10
100
1000と位が増えます。
2進数では、
1
10
100
1000となりますが、それぞれの位の意味が違います。
右端は1。その左は2。さらに左は4。さらに左は8。さらに左は16。
つまり、16 8 4 2 1という席になっています。
この席を理解すると、ビットシフト演算が一気に分かりやすくなります。
「席」を動かすだけで数字が変わる理由
ここで、一つの例を見てみましょう。
2進数で0001という数字があります。
これは「1」です。
この数字を左へ1つ動かします。
0001
↓
0010
右から2番目の席へ移動しました。
右から2番目の席は「2」の席です。
そのため、
1
↓
2
になります。
さらにもう一度左へ動かします。
0010
↓
0100
今度は「4」の席へ移動しました。
そのため、
2
↓
4になります。
もう一度動かすと、
0100
↓
1000
今度は「8」の席になります。
つまり、
4
↓
8になります。
お気付きでしょうか。
左へ1つ動くたびに、
1
↓
2
↓
4
↓
8
↓
16と、毎回2倍になっています。
数字を計算したわけではありません。
「2倍の価値を持つ席」へ移動しただけです。
左へ動かすと、なぜ2倍になるのでしょうか?
ここからが、ビットシフト演算で一番大切なポイントです。
「左へ1つ動かすと2倍になります。」
この説明だけを覚えても、試験では応用問題に対応できません。
そこで、まずは身近な例から考えてみましょう。
お金で考えてみましょう
あなたの前に、5つの箱があります。
それぞれの箱には、次のような値札が付いています。
16円の箱 8円の箱 4円の箱 2円の箱 1円の箱
今、1円の箱だけにコインが入っています。
16 8 4 2 1
0 0 0 0 1
合計は1円です。
では、このコインを1つ左の箱へ移動します。
16 8 4 2 1
0 0 0 1 0
今度は2円の箱に入りました。
合計は2円です。
さらに左へ動かします。
16 8 4 2 1
0 0 1 0 0
今度は4円です。
もう一度動かします。
16 8 4 2 1
0 1 0 0 0
今度は8円です。
最後にもう一度動かします。
16 8 4 2 1
1 0 0 0 0
今度は16円です。
コインの数は最初からずっと1枚です。
増えたわけではありません。
変わったのは「入っている箱」だけです。
ビットシフト演算も、まったく同じ考え方です。
0や1の数が増えているのではありません。
価値の高い席へ移動したことで、数字が2倍になったように見えるのです。
「位」が変わると数字の大きさも変わります
私たちが普段使っている10進数でも同じことが起こっています。
例えば、「3」という数字を考えてみましょう。
1の位にある3は、「3」です。
10の位へ移動すると、「30」になります。
100の位へ移動すると、「300」になります。
数字の3は変わっていません。
変わったのは座る場所だけです。
2進数でも同じです。
ただし、10倍ではなく2倍ずつ大きくなります。
だから左へ1つ動くたびに2倍になるのです。
左シフトを実際に計算してみましょう
問題です。
0011 を左へ1ビット動かすとどうなるでしょうか。
まず、0011は10進数では3です。
左へ1つ動かします。
0011
↓
0110
では、この0110を10進数へ直してみます。
16 8 4 2 1
0 0 1 1 0
4+2=6
つまり、
3
↓
6になりました。
確かに2倍になっています。
では、もう一度左へ動かしてみます。
0110
↓
1100
今度は、
8+4=12になります。
6
↓
12です。
これも2倍です。
何回計算しても、
左へ1つ動かすたびに2倍になります。
「×2」を計算しているわけではありません
ここで勘違いしやすいことがあります。
コンピュータは、「3×2=6」という計算をしているわけではありません。
コンピュータは、「全部左へ1つ動かそう」と命令しているだけです。
結果として2倍になっています。
つまり、掛け算をした結果ではなく、席を移動した結果なのです。
この違いを理解すると、ビットシフト演算が一気に分かりやすくなります。
コンピュータはなぜビットシフト演算を使うのでしょうか?
ここで疑問が出てきます。
「2倍にしたいなら、掛け算をすればいいのでは?」
その通りです。
しかし、コンピュータは少しでも速く計算したいと考えています。
ビットシフトは、ビット列を左右へずらすだけなので、とても高速に処理できます。
そのため、画像処理や音声処理、ゲーム、組み込み機器など、今でもさまざまな場面で使われています。
ITパスポート試験では、このような内部の仕組みまで問われることは多くありません。
しかし、「なぜシフト演算が使われるのか」を知っておくと、理解が深まり、記憶にも残りやすくなります。
試験でよく出る問題
問題
2進数「00101」を左へ1ビットシフトした結果として正しいものはどれでしょう。
ア 00010
イ 01010
ウ 10010
エ 10100
考え方です。
左へ1つ動かすので、一番左のビットは外へ出て、右端には0が入ります。
00101
↓
01010
したがって、正解は「イ」です。
暗記する必要はありません。
「左へ1つ席を移動する」という考え方だけで答えられます。
ここまでのポイント

・ビットシフトは0と1を左右へ動かす操作です。
・左へ1つ動くと、1つ上の位へ移動します。
・2進数では位が2倍ずつ増えるため、結果として数字も2倍になります。
・数字を計算しているのではなく、価値の違う席へ移動しているだけです。
・「席が変わると数字の大きさも変わる」という考え方を覚えると、試験でも応用問題に対応できます。
右へ動かすと、なぜ半分になるのでしょうか?
左へ動かすと2倍になる理由は、「価値の高い席へ移動するから」でした。
では、反対に右へ動かすとどうなるでしょうか。
答えは、価値の低い席へ移動するです。
これだけ聞くと簡単ですが、実際に数字を見ながら考えるとすぐに理解できます。
まずは10進数で考えてみましょう
私たちが普段使っている数字で考えます。
例えば、300円があります。
「3」は100の位にあります。
もし、この3を1つ右へ動かしたらどうなるでしょうか。
300円
↓
30円になります。
さらに右へ動かします。
30円
↓
3円になります。
数字の「3」は変わっていません。
変わったのは座る席だけです。
席が右へ動くたびに、数字の価値は10分の1になります。
2進数でも同じです。
ただし、10分の1ではなく、2分の1になります。
2進数で見てみましょう
次の数字があります。
1000これは10進数では「8」です。
右へ1つ動かします。
1000
↓
0100
今度は4になりました。
もう一度右へ動かします。
0100
↓
0010
今度は2です。
さらに右へ動かします。
0010
↓
0001
今度は1です。
変化をまとめると、
8
↓
4
↓
2
↓
1になっています。
右へ1つ動くたびに、数字が半分になっています。
「8÷2」を計算しているわけではありません
ここでも大切なのは、
コンピュータは「8÷2」を計算しているわけではないということです。
実際には、「全部のビットを右へ1つ動かそう」という命令を実行しているだけです。
その結果として、価値の低い席へ移動したため、数字が半分になったように見えるのです。
つまり、右シフト=割り算ではありません。
右シフトの結果として、2で割ったような値になるという理解が正しい考え方です。
空いた場所には何が入るのでしょうか?
ここでよく出る疑問があります。
左へ動かしたとき、右端には0が入りました。
では、右へ動かしたとき、左端には何が入るのでしょうか。
Tパスポート試験では、0が入ると考えて大丈夫です。
例えば、1010を右へ1つ動かします。
1010
↓
0101一番右の0は外へ出ます。
左端には0が入ります。
これが基本的な右シフトです。
一番右の数字はどこへ行くのでしょう?
「外へ出た数字はどうなるの?」という質問もよくあります。
例えば、1001を右へ1つ動かすと、0100になります。
一番右の「1」は画面の外へ出てしまいます。
つまり、消えます。
コンピュータは、決められたビット数の中だけで計算しています。
そのため、はみ出したビットは残りません。
これも試験で覚えておきたいポイントです。
左へ動かしたときも同じです
左シフトでも、一番左のビットは外へ出ます。
例えば、1011を左へ1つ動かすと、0110になります。
左端の「1」は消えました。
右端には0が入りました。
つまり、左シフトも右シフトも、はみ出したビットは消え、空いた場所は0で埋まるという基本ルールがあります。
「<<」と「>>」の意味
プログラムでは、左シフトは<<という記号で表します。
例えば、5 << 1と書かれていたら、「5を左へ1ビット動かす」という意味です。
反対に、>>は右シフトです。
例えば、8 >> 1なら、「8を右へ1ビット動かす」という意味になります。
試験では、この記号を見て慌てる人がいます。
しかし、「矢印が向いている方向へ動かす」と覚えると迷いません。
試験でよくある間違い
ここで、受験生がよく間違えるポイントを見てみましょう。
間違い①
「左シフト=掛け算」と覚えてしまう。
本当は、左へ席を移動した結果、2倍になっています。
理由まで理解しておくことが大切です。
間違い②
右シフトすると小数になると思う。
例えば、5を右へ1つ動かしても、2.5にはなりません。
ビットシフトは整数のビット列を動かす操作です。
ITパスポートでは、小数になるケースは考えなくて大丈夫です。
間違い③
空いた場所へ1が入ると思う。
空いた場所は、基本的に0で埋まります。
ここはよく問われるポイントなので覚えておきましょう。
試験によく出る問題
問題
2進数「1000」を右へ1ビットシフトした結果として正しいものはどれでしょう。
ア 0100
イ 0010
ウ 0001
エ 1100
考え方です。
全部を右へ1つ動かします。
1000
↓
0100
したがって、正解は「ア」です。
問題
次のうち、左シフト演算の説明として正しいものはどれでしょう。
ア すべてのビットを右へ移動する。
イ すべてのビットを左へ移動する。
ウ 0と1を入れ替える。
エ ビットの順番を逆にする。
答えは「イ」です。
このような問題では、難しい計算は必要ありません。
左右へ動かす」という基本を理解していれば、落ち着いて答えられます。
ここまでのポイント
・右シフトは、ビットを右へ移動する操作です。
・右へ1つ動くと、価値の低い席へ移動するため、結果として2で割ったような値になります。
・右シフトは割り算ではなく、席の移動です。
・はみ出したビットは消えます。
・空いた場所には0が入ります。
・「<<」は左シフト、「>>」は右シフトを表します。
ここまで理解できると、「左に動くと2倍」「右に動くと半分」という暗記ではなく、「なぜそうなるのか」を自分の言葉で説明できるようになります。
論理シフトと算術シフトの違い

ここまで、ビットシフト演算は「ビットを左右へ動かす操作」だと学びました。
実は、右へ動かす方法には2種類あります。
それが、・論理シフト・算術シフトです。
名前だけ見ると難しそうですが、違いはたった一つです。
「左端に何を入れるか」だけが違います。
まずは論理シフトから見ていきましょう。
論理シフトとは?
論理シフトは、一番基本的なシフトです。
ビットを右へ1つ動かしたら、空いた左端には必ず0が入ります。
例えば、10110010を右へ1つ動かすと、01011001になります。
左端には0が入り、一番右の0は外へ出て消えます。
もう一度右へ動かします。
00101100になります。
論理シフトは、このルールを何回繰り返しても変わりません。
「空いた場所は0で埋める」これだけ覚えておけば十分です。
算術シフトとは?
算術シフトも、ビットを右へ動かします。
しかし、論理シフトとは一つだけ違います。左端の数字をそのまま残します。
例えば、11010010を右へ1つ動かしてみましょう。
論理シフトなら、01101001になります。
しかし、算術シフトでは、11101001になります。
左端の1が、そのままコピーされました。
これが算術シフトです。
なぜ左端を残すのでしょうか?
ここで疑問が出てきます。
「なぜ0ではなく、1を入れるのでしょう?」
その理由は、負の数を正しく表すためです。
コンピュータでは、負の数を表すときに「2の補数」という方法を使います。
このとき、一番左のビットには、「この数はプラスです」
または「この数はマイナスです」という情報が入っています。
このビットを符号ビットと呼びます。
もし負の数を右へ動かすたびに左端へ0を入れてしまうと、
本当はマイナスだった数字が、途中でプラスの数字として扱われてしまいます。
そこで算術シフトでは、符号ビットをそのまま残すことで、正しい意味を保っています。
身近な例で考えてみましょう
論理シフトは、教室で席替えをするようなものです。
全員が右へ1つ移動し、一番左の席には新しい人が来ません。
そのため、一番左は空席になり、0が入るイメージです。
一方、算術シフトは少し違います。
先生が、「一番左の席には必ず学級委員が座る」というルールを作ったとします。
みんなが右へ移動しても、一番左の席だけは学級委員が座り続けます。
これが、符号ビットをそのまま残すイメージです。
論理シフトと算術シフトの違いを整理しましょう
| 比較項目 | 論理シフト | 算術シフト |
|---|---|---|
| 左端に入る値 | 必ず0 | 元の左端の値をそのまま入れる |
| 主な用途 | 正の整数やビット操作 | 符号付き整数の計算 |
| 符号を維持する | しない | する |
ITパスポート試験ではどこまで覚えればよいのでしょうか?
ITパスポート試験では、「ビットを左右へ動かす」
「左シフトで2倍、右シフトで2分の1のような結果になる」という基本を理解しておくことが最優先です。
論理シフトと算術シフトの違いが問われる場合でも、
「論理シフトは0を入れる」「算術シフトは符号ビットを残す」
この2点を覚えておけば十分対応できます。
試験直前1分暗記シート
論理シフト
↓
空いた左端には0を入れる。
算術シフト
↓
左端(符号ビット)をそのままコピーする。
論理シフト
↓
ビット操作でよく使う。
算術シフト
↓
負の数を正しく扱うために使う。
迷ったら、「符号を残すのが算術シフト」と覚えておきましょう。
符号ビットとは?なぜ一番左の1ビットが重要なのでしょうか?

ここまでで、
・論理シフト
・算術シフトの違いが分かりました。
しかし、もう一つ疑問が残ります。
「なぜ算術シフトでは、一番左の数字を残すの?」
その答えは、一番左の1ビットには「プラスかマイナスか」を表す大切な役割があるからです。
この1ビットを符号ビットといいます。
符号ビットは「マイナスの旗」です
8人が横一列に並んでいると想像してください。
一番左の人だけは、数字ではありません。
その人は旗を持っています。
旗が白なら、「この数字はプラスです。」
旗が赤なら、「この数字はマイナスです。」
という合図になります。
つまり、一番左のビットだけは、数字ではなく、プラスかマイナスかを知らせる目印なのです。
0ならプラス、1ならマイナス
コンピュータでは、一番左のビットが0ならプラス、1ならマイナスという約束があります。
例えば、
00001010
一番左は0なので、プラスの数です。
一方、
10001010
一番左は1です。
この1は、「8を表している」わけではありません。
「この数字はマイナスです。」という意味を持っています。
ここを勘違いすると、論理シフトと算術シフトが理解できません。
なぜ論理シフトでは困るのでしょうか?
例を見てみましょう。
ある負の数があるとします。
10110000
一番左は1です。
つまり、「これはマイナスです。」という意味です。
ここで論理シフトを行います。
10110000
↓
01011000
左端へ0が入りました。
すると、プラスになってしまいました。
本当はマイナスだった数字なのに、論理シフトをしただけでプラスへ変わってしまいました。
これは困ります。
算術シフトなら意味が変わりません
同じ数字を算術シフトします。
10110000
↓
11011000
左端は1のままです。
つまり、「マイナスですよ。」という情報が残っています。
だから、負の数として正しく計算できます。
これが算術シフトが使われる理由です。
プラスの数では違いがありません
実は、プラスの数では論理シフトと算術シフトはほとんど同じ結果になります。
例えば、
00110000
を右へ動かします。
論理シフト
00011000
算術シフト
00011000
どちらも同じです。
なぜなら、一番左が0だからです。
0をコピーしても、0を入れても、結果は変わりません。
違いが出るのは、負の数だけです。
ここで一つ覚えておきたいこと
ITパスポート試験では、負の数を細かく計算する問題は多くありません。
しかし、「論理シフトと算術シフトの違い」を問われたら、
「符号ビットを残すかどうか」で判断できます。
それだけで十分です。
試験でよくある問題
問題
論理シフトと算術シフトの違いとして正しいものはどれでしょう。
ア 論理シフトは左端に1を入れる。
イ 算術シフトは左端に必ず0を入れる。
ウ 算術シフトは符号ビットを保持する。
エ 論理シフトは負の数専用である。
答えはウです。
さらに理解を深めましょう
ここまで読むと、新しい疑問が生まれるかもしれません。
「そもそも、コンピュータはどうやってマイナスの数を表しているの?」
「なぜ一番左が1になるだけでマイナスになるの?」
実は、一番左が1だからマイナスになるわけではありません。
コンピュータは2の補数という特別な方法で、負の数を表しています。
その仕組みがあるからこそ、算術シフトでは符号ビットを残す必要があるのです。
つまり、ビットシフト演算を本当に理解するには、次に学ぶ「2の補数」が最後のピースになります。
ここまで理解できれば、ビットシフト演算だけでなく、符号付き整数、オーバーフロー、浮動小数点数など、
ITパスポートや基本情報技術者試験で出てくる多くのテーマが一本の線でつながるようになります。
2の補数とは?コンピュータがマイナスを表す仕組みをやさしく解説

ここからは、コンピュータがどのように「マイナスの数」を扱っているのかを見ていきましょう。
普段、私たちは数字を書くとき、
+5
−5
のように、「+」や「−」の記号を使います。
しかし、コンピュータの世界には、
「+」や「−」
という文字はありません。
コンピュータが理解できるのは、0と1だけです。
では、「−5」という数字を、どのように0と1だけで表しているのでしょうか。
その答えが、2の補数(にのほすう)という仕組みです。
コンピュータは負の数をそのまま書けない
まず、コンピュータの気持ちになって考えてみましょう。
人間なら、「5の反対は−5」と簡単に理解できます。
しかし、コンピュータが扱えるのは、0101のような2進数だけです。
例えば、4ビットの場合、0000から1111までの16種類の数字を表すことができます。
通常の数だけなら、
0000 → 0
0001 → 1
0010 → 2
0011 → 3
というように、順番に数字を割り当てれば問題ありません。
しかし、ここで問題が発生します。
「−1」や「−2」などのマイナスの数字を表したい場合です。
そこでコンピュータは、「一部のビットをマイナスの数字として使おう」と考えました。
その方法が、2の補数です。
符号ビットとは何でしょうか
2の補数を理解する前に、符号ビットについて知っておきましょう。
符号ビットとは、「その数字がプラスなのか、マイナスなのかを表すビット」のことです。
例えば、8ビットの場合、10000000という数字を見ると、一番左のビットが、1になっています。
この一番左のビットを、符号ビットとして利用します。
基本的には、
左端が0
→ 正の数
左端が1
→ 負の数
として扱います。
ただし、ここで注意が必要です。
先ほども説明したように、「左端が1だから自動的にマイナスになる」わけではありません。
2の補数というルールによって、結果的に左端の1がマイナスを表す役割を持っているのです。
2の補数の作り方
では、実際に−5を作ってみましょう。
今回は8ビットで考えます。
まず、+5を2進数で表します。
5は、00000101です。
次に、0と1を反転します。
00000101
↓
11111010
そして最後に、1を足します。
11111010+00000001
↓
11111011
これが、−5を表す2進数になります。
つまり、2の補数を作る流れは、
① 元の数字を2進数にする
② 0と1を反転する
③ 最後に1を足すです。
この3ステップを覚えておけば大丈夫です。
なぜ反転して1を足すのでしょうか
ここで、「なぜわざわざ反転して1を足すの?」という疑問が出てくるかもしれません。
実は、この仕組みには大きなメリットがあります。
それは、コンピュータが引き算をしなくてもよくなることです。
例えば、5−5を計算するとします。
人間なら、5から5を引くと考えます。
しかし、コンピュータは、5+(−5)として計算します。
つまり、00000101+11111011を計算します。
計算すると、100000000になります。
しかし、8ビットでは9桁目を保存できません。
そのため、一番左の1はあふれて消えます。
残った数字は、00000000つまり、0になります。
このように、2の補数を使うことで、引き算を足し算だけで処理できます。
2の補数と算術シフトの関係
ここで、前回学んだ算術シフトにつながります。
算術右シフトでは、左端のビットをそのまま残しました。
なぜでしょうか。理由は、2の補数で表された負の数を守るためです。
例えば、−5を表す、11111011を右へ1ビット移動します。
もし左端に0を入れてしまうと、01111101になります。
これは、まったく別の数字です。
つまり、マイナスの数ではなくなってしまいます。
だから算術シフトでは、符号ビットをコピーして残します。
「左端を守る」というルールには、ちゃんと理由があるのです。
ITパスポート試験で覚えるべき2の補数のポイント
ここまで詳しく説明しましたが、試験ではすべてを暗記する必要はありません。
重要なのは次のポイントです。
① 負の数は2の補数で表す
コンピュータは、マイナスの数を2の補数で表現します。
② 作り方は3ステップ
・0と1を反転
・最後に1を足す
③ 引き算を足し算で処理できる
2の補数を使うことで、A−Bではなく、A+(−B)として計算できます。
④ 算術シフトでは符号ビットを残す
マイナスの数を正しく保つために、左端のビットを維持します。
ここまで理解できると、「なぜ算術シフトは左端を残すのか」
という疑問が、単なる暗記ではなく仕組みとして理解できます。
次は、さらに理解を深めるために、「符号付き整数」「オーバーフロー」「浮動小数点数」について見ていきましょう。
これらはすべて、コンピュータが限られたビットの中で数字を扱うための大切な仕組みです。
符号付き整数・オーバーフロー・浮動小数点数のポイント

ここまで学んだ「2の補数」は、コンピュータが数字を扱ううえで大切な基本です。
ここからは、ITパスポート試験でもよく登場する3つの用語を、ポイントだけ確認しましょう。
符号付き整数とは?
符号付き整数とは、プラスとマイナスの両方を表せる整数のことです。
コンピュータでは、ビットの一部を使って、
「正の数」
「負の数」を区別しています。
例えば8ビットの場合、左端のビットを符号ビットとして使います。
0→ 正の数
1→ 負の数となります。
ただし、負の数は単純に左端を1にするだけではありません。
2の補数を使って表現するという点が重要です。
ITパスポートで覚えるポイント
✅ 符号付き整数=正負を扱える整数
✅ 負の数は2の補数で表現する
✅ 左端のビットは符号を表す
オーバーフローとは?
オーバーフローとは、コンピュータが表せる範囲を超えてしまうことです。
コンピュータのビット数には限界があります。
例えば、8ビットで表せる範囲を超える計算をすると、保存できない桁が発生します。
イメージとしては、小さな箱に大きな荷物を入れようとして、あふれてしまう状態です。
これが、オーバーフローです。
例えば、8ビットで最大値を超える計算をすると、本来は大きな数字になるはずが、別の小さな数字として扱われてしまうことがあります。
ITパスポートで覚えるポイント
✅ ビット数には表現できる限界がある
✅ 限界を超えるとオーバーフローが発生する
✅ 計算結果が正しく表せなくなる
浮動小数点数とは?
浮動小数点数とは、小数を効率よく表す方法です。
例えば、123456000のような大きな数字や、0.00000123のような小さな数字を扱う場合、
そのまま保存すると多くのビットが必要になります。
そこで、数字を、「仮数」「指数」に分けて表します。
イメージとしては、123000000を、1.23 × 10⁸のように表す方法です。
小数点の位置を動かせるため、「浮動」という名前がついています。
ITパスポートで覚えるポイント
✅ 浮動小数点数=小数を効率よく表す方法
✅ 仮数と指数で表現する
✅ 大きな数や小さな数を扱いやすい
3つをまとめて覚えましょう
| 用語 | 覚えるポイント |
|---|---|
| 符号付き整数 | 正負を表せる整数。負の数は2の補数 |
| オーバーフロー | 表現できる範囲を超えること |
| 浮動小数点数 | 小数を仮数と指数で表す方法 |
ITパスポート試験では、細かな計算よりも、「何のために使われる仕組みなのか」を理解することが大切です。
今回の流れをつなげると、
ビットシフト
↓
2の補数
↓
符号付き整数
↓
オーバーフロー・浮動小数点数
というように、コンピュータが数字を扱う仕組みが一本につながります。
この流れを理解しておくと、テクノロジ系の問題で迷いにくくなります。
ITパスポート試験直前に覚えるビットシフト演算まとめ
試験直前は、細かい計算よりもポイントを整理して覚えることが大切です。
最後に、覚えるべき内容をまとめます。
左シフト
・ビットを左へ移動する
・右側には0を入れる
・1ビット左へ移動すると2倍になる
右シフト
・ビットを右へ移動する
・左側に入れる値が重要
論理シフト
・左端には0を入れる
・符号を考えないシフト
算術シフト
・符号ビットを維持する
・マイナスの数を正しく扱うために使う
2の補数
・負の数を表現する方法
・0と1を反転して1を足す
・引き算を足し算として処理できる
ビットシフト演算を理解するとコンピュータの中身が見えてきます
ビットシフト演算は、最初は0と1ばかりで難しく感じる分野です。
しかし、実際に学んでみると、「数字を移動させているだけ」というシンプルな仕組みだと分かります。
コンピュータは、人間のように数字を紙に書いて計算しているわけではありません。
小さな「0」と「1」の並びを使いながら、素早く処理しています。
ビットシフト演算を理解することは、コンピュータが内部でどのように動いているのかを知る第一歩になります。
ITパスポート試験では、完璧な計算力よりも、「なぜその結果になるのか」という仕組みの理解が大切です。
焦らず、「ビットは席を移動する」「左は2倍、右は2分の1」「マイナスは2の補数」
という3つの柱を覚えておけば十分対応できます。
試験当日は、難しそうな問題を見ても慌てないでください。
一つずつルールを思い出せば、きっと正しく判断できます。
ビットシフト演算は、コンピュータの世界を理解するための小さな入り口です。
この入り口を越えた先には、さらにネットワークやプログラムなど、ITの仕組みを理解する楽しさが広がっています。
まとめ:ビットシフト演算は「0と1の席替え」と考えると理解しやすい

ビットシフト演算は、最初に見ると、「2進数」「ビット」「シフト」という聞き慣れない言葉が並び、難しく感じてしまうかもしれません。
しかし、基本の考え方を順番に整理すると、決して特別な計算ではありません。
ビットシフト演算で大切なのは、「ビットの位置を左右に移動する処理」ということです。
左へ1ビット移動する左シフトでは、数字の価値が2倍になります。
一方で、右へ1ビット移動する右シフトでは、数字の価値が2分の1になります。
ただし、右シフトには注意が必要です。
論理シフトでは左端に0を入れますが、算術シフトでは符号ビットを残します。
この違いは、マイナスの数を正しく扱うために必要な仕組みです。
また、コンピュータでは負の数を表すために2の補数という方法を使っています。
2の補数は、「0と1を反転して、最後に1を足す」という流れで作ることができます。
この仕組みのおかげで、コンピュータは引き算を別の処理として持たず、足し算として計算できるようになります。
ITパスポート試験では、細かな計算問題よりも、
「ビットシフトとは何か」
「論理シフトと算術シフトの違い」
「2の補数が何のために使われるのか」を理解しているかが重要です。
試験直前は、
・左シフト=2倍
・右シフト=2分の1
・論理シフト=0を入れる
・算術シフト=符号ビットを残す
・負の数=2の補数で表す
このポイントを確認しておきましょう。
ビットシフト演算を理解すると、コンピュータが内部でどのように数字を扱っているのかが少しずつ見えてきます。
最初は小さな0と1の世界ですが、その一つひとつがコンピュータを動かす大切な仕組みになっています。
焦らず、ご自身のペースで理解を深めていきましょう。
きっとITパスポート試験での自信につながります。

最後までお読みいただき、ありがとうございます!
これからも一緒に成長し、共に学んでいきましょうね!
次回もお楽しみに!


