2進数と16進数の変換をマスターしよう

公開 2026年11月7日・更新 2026年11月8日

コンピュータは、すべての情報を 0 と 1 で扱います。この 0 と 1 で数を表すのが 2進数 です。共通テスト「情報Ⅰ」では、画像や文字のデジタル表現、論理演算、プログラムなど、多くの問題の前提として使われます。変換の手順を確実に身につけておきましょう。

なぜ2進数を使うのか

コンピュータの中の電子回路は、電圧が「高い・低い」、スイッチが「オン・オフ」のように、2つの状態を区別するのが得意です。2つの状態を1と0に対応させると、どんな数も2進数で表せます。この0か1の1桁分が ビット です。

2進数の各桁の重み

10進数は、右から 1の位、10の位、100の位…と10倍ずつ大きくなります。2進数は 2倍ずつ 大きくなります。

桁 8桁目 7桁目 6桁目 5桁目 4桁目 3桁目 2桁目 1桁目
重み 128 64 32 16 8 4 2 1

この重み(2の累乗)は、何度も使うので覚えてしまいましょう。

2進数 → 10進数

1 が立っている桁の重みを足すだけです。

例:1101 → 8 + 4 + 1 = 13

例:10110010 → 128 + 32 + 16 + 2 = 178

10進数 → 2進数

方法1:大きい重みから引いていく

例:13 を2進数にする

  1. 13 から 8 を引ける → 8の位は 1(残り 5)
  2. 5 から 4 を引ける → 4の位は 1(残り 1)
  3. 1 から 2 は引けない → 2の位は 0
  4. 1 から 1 を引ける → 1の位は 1

答えは 1101 です。

方法2:2で割り続ける

13 ÷ 2 = 6 余り 1、6 ÷ 2 = 3 余り 0、3 ÷ 2 = 1 余り 1、1 ÷ 2 = 0 余り 1

余りを**下から(最後に出たものから)**読むと 1101 です。

2進数 ⇔ 16進数

16進数 は 0〜9 と A〜F(A=10 〜 F=15)を使います。2進数の 4桁が16進数の1桁 にちょうど対応するので、下の桁から4桁ずつ区切って置き換えます。

2進数 16進数 2進数 16進数 2進数 16進数 2進数 16進数
0000 0 0100 4 1000 8 1100 C
0001 1 0101 5 1001 9 1101 D
0010 2 0110 6 1010 A 1110 E
0011 3 0111 7 1011 B 1111 F

例:11010110 → 1101 | 0110 → D | 6 → D6

例:101101(6桁)→ 上に0を補って 0010 | 1101 → 2D

逆に16進数から2進数にするときは、1桁ずつ4桁の2進数に置き換えます。例:A5 → 1010 0101 → 10100101

16進数は、長い2進数を短く書くために使われます。Webページの色(#FF8800 など)や、文字コードの表でもおなじみです。

n ビットで表せる数

ビットが1つ増えるごとに、表せる数は2倍になります。n ビットで表せるのは 2n 通り です。

ビット数 表せる種類 0から始めたときの範囲
4ビット 16通り 0〜15
7ビット 128通り 0〜127
8ビット 256通り 0〜255
16ビット 65,536通り 0〜65,535

「最大値は 255、表せる数は 256通り」の違いは、引っかけとしてよく問われます。

逆に「○種類を表すには何ビット必要か」は、2n がその種類以上になる最小の n を探します。例えば 100種類なら、26 = 64 では足りず、27 = 128 なので 7ビット です。

2進数の足し算

10進数と同じように下の桁から計算し、1 + 1 = 10(2になったら桁上がり)とします。

    0110   (6)
  + 0011   (3)
  ------
    1001   (9)

1桁目:0 + 1 = 1、2桁目:1 + 1 = 10 → 0 を書いて1繰り上げ、3桁目:1 + 0 + 1(繰り上がり)= 10 → 0 を書いて1繰り上げ、4桁目:0 + 0 + 1 = 1

決められたビット数に収まらない桁上がりが起きることをオーバーフローといいます。例えば4ビットで 1000 + 1000 を計算すると、答えの 10000 は5桁になり、4ビットには入りません。足し算の回路は「論理回路」の半加算器・全加算器で作られています。

負の数の表し方:2の補数

コンピュータでは、負の数を2の補数で表すのが一般的です。

−3 を4ビットの2の補数で表す手順

  1. 3 を2進数で表す:0011
  2. 0と1を反転する:1100
  3. 1を足す:1101 → これが −3

確かめると、3 + (−3) は 0011 + 1101 = 10000。4ビットからはみ出した桁を無視すると 0000 で、ちゃんと0になります。2の補数を使うと、引き算を足し算の回路で計算できるのが利点です。

2の補数では、一番上の桁が1なら負の数です。4ビットなら −8〜7、8ビットなら −128〜127 を表せます。

情報量の単位

単位 大きさ
1 ビット(bit) 0か1の1桁
1 バイト(B) 8ビット
1 KB(キロバイト) 1,000 B(210 = 1,024 B とすることもある)
1 MB(メガバイト) 1,000 KB
1 GB(ギガバイト) 1,000 MB
1 TB(テラバイト) 1,000 GB

1,000倍か1,024倍かは、問題文の指定に従います。

共通テストでの出題

よくある間違い

まとめ

確認問題

問題を準備しています…

この分野が出た過去問

関連する用語