
【基本情報】2進数・16進数・基数変換を完全攻略|苦手な人向け超入門
「2進数を見ただけで苦手意識が出る…」
「101101って結局いくつ?」
「16進数になるとAとかFまで出てきて意味が分からない😇」
基本情報技術者試験の勉強を始めて、最初につまずきやすいテーマの一つが、
2進数・16進数・基数変換
です。
でも実は、仕組みさえ理解してしまえば難しくありません。
この記事では、
10進数 → 2進数
2進数 → 10進数
2進数 ↔ 16進数
16進数 → 10進数
まで、初めて勉強する人向けに順番に解説します。
基本情報ではこの先、
論理演算・IPアドレス・ビット演算・データ量
などにもつながる重要テーマです。
ここで基礎を固めておきましょう🔥
⸻
1.そもそも「進数」って何?
普段私たちが使っている数字は、
10進数
です。
0
1
2
3
4
5
6
7
8
9
10種類の数字を使います。
9の次は、
9
↓
10
となりますよね。
これが、
10進数
です。
一方、コンピュータでは、
2進数
が非常に重要です。
⸻
2.2進数とは?
2進数では、
0と1
だけを使います。
0
1
1の次は、
10
になります。
つまり、

となります。
最初は不思議に見えますが、
使える数字が0と1しかない
と考えればOKです。
⸻
3.なぜコンピュータは2進数を使う?
コンピュータ内部では、
電気的なON/OFF
のような2つの状態を扱いやすいため、2進数が基本になります。
イメージとしては、
0 → OFF
1 → ON
です。
つまり、
0と1の組合せでデータを表現する
のがコンピュータの基本です。
⸻
4.「桁の重み」を理解しよう
基数変換で一番重要なのが、
桁の重み
です。
普段使っている10進数、
123
を考えてみます。
これは、
1 × 100
+
2 × 10
+
3 × 1
ですよね。
つまり、
1 × 10²
+
2 × 10¹
+
3 × 10⁰
です。
10進数では、
右から10⁰、10¹、10²、10³…
という重みになっています。
⸻
5.2進数も考え方は同じ
2進数では、
右から2⁰、2¹、2²、2³…
です。
例えば、
1011
なら、

なので、
1×8
+
0×4
+
1×2
+
1×1
=
8 + 0 + 2 + 1
= 11
つまり、
(1011)₂ = (11)₁₀
です。
⸻
6.まず覚えたい2の累乗
基本情報では、これを覚えておくとかなり楽です。

最低でも、
1・2・4・8・16・32・64・128・256
くらいまではすぐ出せるようにしておくと便利です。
ネットワークやデータ量の計算でも使います。
⸻
7.2進数 → 10進数の変換
例として、
(1101)₂
を10進数にしてみます。
1 1 0 1
↓ ↓ ↓ ↓
8 4 2 1
1になっている場所だけ足します。
8 + 4 + 1
= 13
したがって、
(1101)₂ = (13)₁₀
です。
⸻
8.もう1問やってみよう
(10110)₂
を10進数へ変換します。
重みを書くと、
16 8 4 2 1
↓ ↓ ↓ ↓ ↓
1 0 1 1 0
1の場所だけ足すので、
16 + 4 + 2
= 22
答えは、
(22)₁₀
です。
⸻
9.2進数→10進数のコツ
やることはシンプルです。
① 右から
1・2・4・8・16…
と書く
② 1になっている場所を見る
③ その数字を足す
これだけです。
例えば、
101101
なら、
32 16 8 4 2 1
1 0 1 1 0 1
なので、
32 + 8 + 4 + 1
= 45
です。
⸻
10.今度は10進数 → 2進数
ここで逆方向です。
例えば、
13
を2進数にしてみましょう。
方法はいくつかありますが、初心者には、
2の累乗を組み合わせる方法
が分かりやすいです。
13を、
8 + 4 + 1
と分解します。
つまり、
8 4 2 1
1 1 0 1
なので、
(13)₁₀ = (1101)₂
です。
⸻
11.「2で割る方法」も覚えよう
10進数を2進数へ変換する定番方法が、
2で繰り返し割る
方法です。
例えば13なら、
13 ÷ 2 = 6 余り1
6 ÷ 2 = 3 余り0
3 ÷ 2 = 1 余り1
1 ÷ 2 = 0 余り1
そして、
余りを下から読む
と、
1101
になります。
したがって、
13₁₀ = 1101₂
です。
⸻
12.なぜ余りを下から読むの?
ここは最初は、
「10進数→2進数は2で割って、余りを下から読む」
と覚えてOKです。
慣れてきたら、
割り算によって、
2⁰の桁 → 2¹の桁 → 2²の桁…
を順番に求めていると理解すると、仕組みまで分かります。
⸻
13.10進数→2進数をもう1問
26
を2進数にします。
26 ÷ 2 = 13 余り0
13 ÷ 2 = 6 余り1
6 ÷ 2 = 3 余り0
3 ÷ 2 = 1 余り1
1 ÷ 2 = 0 余り1
余りを下から読むと、
11010
したがって、
26₁₀ = 11010₂
です。
確認すると、
16 + 8 + 2
= 26
なので合っています。
⸻
14.16進数とは?
次は、
16進数
です。
16進数では、1桁で、
0〜15
を表現します。
しかし数字は0〜9までしかありません。
そこで、
10 → A
11 → B
12 → C
13 → D
14 → E
15 → F
を使います。
つまり、

ここは必ず覚えましょう。
特に、
A=10、B=11、C=12、D=13、E=14、F=15
は即答できるようにしておきたいところです。
⸻
15.16進数の桁の重み
10進数は、
10⁰
10¹
10²
2進数は、
2⁰
2¹
2²
でした。
同じように16進数では、
16⁰
16¹
16²
となります。
つまり右から、
1
16
256
4096
…
です。
⸻
16.16進数 → 10進数
例えば、
(2A)₁₆
を10進数にしてみます。
Aは10なので、
2 × 16
+
10 × 1
=
32 + 10
= 42
したがって、
(2A)₁₆ = (42)₁₀
です。
⸻
17.もう1問やってみよう
(3F)₁₆
を10進数へ変換します。
Fは15なので、
3 × 16
+
15
=
48 + 15
= 63
答えは、
(63)₁₀
です。
⸻
18.16進数 → 10進数の3桁問題
例えば、
(1A3)₁₆
なら、
1 × 16²
+
10 × 16¹
+
3 × 16⁰
です。
計算すると、
256
+
160
+
3
=
419
したがって、
(1A3)₁₆ = (419)₁₀
です。
⸻
19.2進数と16進数には超便利な関係がある
ここが重要です。
16 = 2⁴
ですよね。
そのため、
2進数4桁=16進数1桁
として変換できます。
これは絶対に覚えておきましょう。
⸻
20.2進数4桁と16進数の対応表

最初から全部暗記する必要はありません。
ただ、
1010=A
から、
1111=F
くらいは慣れてくると即答できるようになります。
⸻
21.2進数 → 16進数
例えば、
10111100₂
を16進数へ変換してみます。
右から4桁ずつ区切ります。
1011 1100
それぞれ、
1011 → B
1100 → C
なので、
10111100₂ = BC₁₆
です。
これだけです。
⸻
22.4桁で区切れない場合は?
例えば、
101101₂
なら、
右から4桁ずつ区切ると、
10 1101
左側が2桁しかありません。
そこで先頭に0を補います。
0010 1101
すると、
0010 → 2
1101 → D
なので、
101101₂ = 2D₁₆
です。
先頭に0を追加しても数値自体は変わりません。
⸻
23.16進数 → 2進数
今度は逆です。
例えば、
3A₁₆
を2進数へ変換します。
1桁ずつ4ビットへ変換します。
3 → 0011
A → 1010
つなげると、
00111010
したがって、
3A₁₆ = 00111010₂
です。
先頭の0を省略して、
111010₂
としても数値は同じです。
⸻
24.Fは絶対覚えておきたい
16進数の、
F
は、
F₁₆
=
15₁₀
=
1111₂
です。
つまり、
F=1111
です。
そのため、
FF₁₆
なら、
1111 1111₂
です。
これは、
255₁₀
になります。
⸻
25.なぜFF=255?
確認してみましょう。
16進数なら、
F × 16
+
F
です。
F=15なので、
15 × 16 + 15
= 240 + 15
= 255
となります。
つまり、
FF₁₆ = 255₁₀
です。
ネットワークを勉強するときにも、この255という数字をよく見ることになります。
⸻
26.10進数 → 16進数
10進数から16進数へ変換するときは、
16で繰り返し割る
方法があります。
例えば、
45
なら、
45 ÷ 16 = 2 余り13
13は16進数で、
D
です。
したがって、
45₁₀ = 2D₁₆
です。
⸻
27.10進数→16進数をもう1問
250
を16進数にします。
250 ÷ 16
= 15 余り10
15は、
F
10は、
A
なので、
250₁₀ = FA₁₆
です。
確認すると、
F × 16 + A
=
15 × 16 + 10
=
250
となります。
⸻
28.直接変換が難しかったら2進数を経由してもOK
例えば10進数から16進数への変換が苦手なら、
10進数
↓
2進数
↓
16進数
と変換してもOKです。
特に、
2進数 ↔ 16進数
は4桁単位で変換できるため、慣れるとかなり簡単です。
⸻
29.変換方法を一発整理
ここまでをまとめます。
2進数 → 10進数
1になっている桁の重みを足す
1011₂
↓
8 + 2 + 1
↓
11₁₀
10進数 → 2進数
2で割って余りを下から読む
16進数 → 10進数
各桁 × 16の累乗
10進数 → 16進数
16で割って余りを変換
2進数 ↔ 16進数
4ビット単位で変換
これを押さえればかなり解けます。
⸻
30.基本情報でよくある問題①
次の2進数を10進数へ変換してください。
10101₂
重みを書くと、
16 8 4 2 1
1 0 1 0 1
なので、
16 + 4 + 1
= 21
答えは、
21₁₀
です。
⸻
31.基本情報でよくある問題②
次の10進数を2進数へ変換してください。
19₁₀
19は、
16 + 2 + 1
なので、
10011
答えは、
10011₂
です。
⸻
32.基本情報でよくある問題③
次の2進数を16進数へ変換してください。
11010110₂
4桁ずつ区切ります。
1101 0110
それぞれ、
1101 → D
0110 → 6
なので、
D6₁₆
です。
⸻
33.基本情報でよくある問題④
次の16進数を2進数へ変換してください。
7B₁₆
7 → 0111
B → 1011
なので、
01111011₂
です。
⸻
34.基本情報でよくある問題⑤
次の16進数を10進数へ変換してください。
4C₁₆
C=12なので、
4 × 16 + 12
=
64 + 12
=
76
答えは、
76₁₀
です。
⸻
35.よくある間違い① 右から数える
2進数の桁の重みは、
右端から
2⁰
2¹
2²
2³
…
です。
つまり、
1
2
4
8
16
32
…
となります。
左から1・2・4…と書かないように注意しましょう。
⸻
36.よくある間違い② 16進数のA〜F
ここは頻出です。
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
F=16ではありません。
16進数では、
Fの次
↓
10
になります。
これは10進数で、
15の次が16
なのと同じ考え方です。
⸻
37.よくある間違い③ 2進数を左から4桁区切る
2進数→16進数では、
右から4桁ずつ
区切ります。
例えば、
1011011
なら、
101 1011
です。
そして、
0101 1011
と0を補います。
0101 → 5
1011 → B
なので、
5B₁₆
です。
⸻
38.小数の2進数も知っておこう
整数部分では、
2⁰
2¹
2²
…
でした。
小数点より右側は、
2⁻¹
2⁻²
2⁻³
…
となります。
つまり、

です。
⸻
39.2進小数 → 10進小数
例えば、
0.101₂
なら、
1 × 1/2
+
0 × 1/4
+
1 × 1/8
なので、
0.5 + 0 + 0.125
= 0.625
つまり、
0.101₂ = 0.625₁₀
です。
⸻
40.10進小数 → 2進小数
整数部分では、
2で割る
でした。
小数部分では逆に、
2を掛ける
方法を使います。
例えば、
0.625
なら、
0.625 × 2 = 1.25 → 1
0.25 × 2 = 0.5 → 0
0.5 × 2 = 1.0 → 1
整数部分を上から読むと、
101
なので、
0.625₁₀ = 0.101₂
です。
⸻
41.整数と小数で覚え方を分ける
ここはセットで覚えると便利です。
10進整数 → 2進数
2で割る
10進小数 → 2進数
2を掛ける
つまり、
整数は割る、小数は掛ける
です。
⸻
42.ビットとバイトにもつながる
2進数を理解すると、
bit(ビット)
も分かりやすくなります。
1bitでは、
0
1
の、
2通り
を表現できます。
2bitなら、
00
01
10
11
の、
4通り
です。
3bitなら、
8通り
です。
つまり、
nビットで表せる組合せ=2ⁿ通り
となります。
⸻
43.8bitなら何通り?
公式は、
2ⁿ
なので、
2⁸
= 256
です。
つまり8bitでは、
256通り
を表現できます。
符号なし整数なら、
0〜255
です。
ここでも、
255
が登場します。
⸻
44.最大値は「2ⁿ−1」
nビットの符号なし整数で表せる最大値は、
2ⁿ−1
です。
例えば8bitなら、
2⁸−1
=
256−1
=
255
です。
4bitなら、
2⁴−1
=
15
つまり、
1111₂
=
F₁₆
=
15₁₀
となります。
全部つながっています。
⸻
45.ここまでの関係をまとめると
例えば、
1111₂
は、
15₁₀
であり、
F₁₆
です。
つまり、
1111₂ = 15₁₀ = F₁₆
です。
そして8bit全部が1なら、
11111111₂
=
255₁₀
=
FF₁₆
となります。
ここまで理解できれば、2進数と16進数の関係はかなり見えてきます。
⸻
46.試験で見たらこう考える
「2進数→10進数」
→ 桁の重みを足す
「10進数→2進数」
→ 2で割る
「2進数→16進数」
→ 右から4桁
「16進数→2進数」
→ 1桁を4bitへ
「16進数→10進数」
→ 16の累乗
「nビットで何通り?」
→ 2ⁿ
「符号なしnビットの最大値?」
→ 2ⁿ−1
このキーワード反応ができるようになると、問題をかなり速く解けます。
⸻
47.試験直前チェックリスト
次の問題を即答できるか確認してみましょう👇
① 1010₂を10進数にすると?
→ 10
② 15₁₀を2進数にすると?
→ 1111
③ 1111₂を16進数にすると?
→ F
④ A₁₆は10進数で?
→ 10
⑤ F₁₆は?
→ 15
⑥ FF₁₆は10進数で?
→ 255
⑦ 2進数何桁で16進数1桁?
→ 4bit
⑧ 8bitで何通り?
→ 256通り
⑨ 符号なし8bitの最大値は?
→ 255
⑩ 0.1₂は10進数で?
→ 0.5
全部答えられれば、基本はかなり固まっています🔥
⸻
48.最後にこれだけ覚える
時間がない人は、この5つだけでも押さえてください。
① 2進数の重み
1・2・4・8・16・32・64・128…
② 16進数
A=10
B=11
C=12
D=13
E=14
F=15
③ 2進数 → 16進数ら
4bit=16進数1桁
④ nビットの組合せ
2ⁿ通り
⑤ 符号なしnビットの最大値
2ⁿ−1
特に、
1111₂ = F₁₆ = 15₁₀
11111111₂ = FF₁₆ = 255₁₀
は覚えておくと便利です。
⸻
まとめ
2進数・16進数は、最初は記号のように見えて難しく感じます。
でも、基本となる考え方は、
「各桁に重みがある」
というだけです。
10進数なら、
1・10・100・1000…
2進数なら、
1・2・4・8・16…
16進数なら、
1・16・256・4096…
です。
そして変換問題では、
2進数→10進数=重みを足す
10進数→2進数=2で割る
2進数↔16進数=4bit単位
と整理しておけばOK。
2進数は、この先勉強する、
論理演算
ビット演算
IPアドレス・サブネット
データ量
などの土台になります。
「数字が苦手だから後回し」にせず、最初にここを理解しておくと、後の勉強がかなり楽になります🔥
⸻
📚 基本情報技術者試験を勉強している方へ
このnoteでは、
「基本情報の難しいテーマを、初学者でも分かるように図解する」
をテーマに、科目A・科目Bの頻出分野をまとめています。
今回の2進数・16進数・基数変換は、基本情報を勉強するうえで最初に理解しておきたい重要テーマです。
次は、
論理演算(AND・OR・NOT・XOR)
を学ぶと、今回の2進数の知識がそのままつながります。
今後も、
アルゴリズム・CPU・メモリ・ネットワーク・データベース・セキュリティ・科目B対策
などを順番に解説していきます。
これから基本情報を受ける方は、スキ・フォローしてもらえると嬉しいです🙌
試験前にもう一度解き直せるよう、この記事もぜひ保存しておいてください📌