最終更新日:2026年7月25日
fe fe-technology computer-system
まず結論
16進小数の変換は、16進数1桁を2進数4桁に直す と効率よく解けます。
基本情報技術者試験では、10進数に直して計算するより、次の対応を使う方が速いです。
16進数 1桁
→ 2進数 4桁
特に、次の文字はよく使います。
| 16進 | 2進 |
|---|---|
| A | 1010 |
| B | 1011 |
| C | 1100 |
| D | 1101 |
| E | 1110 |
| F | 1111 |
小数点の右側は、左から順に 2^-1、2^-2、2^-3 と数えます。
.1010
↓↓↓↓
2^-1 2^-2 2^-3 2^-4
直感的な説明
16進数は、2進数を4桁ずつまとめた表記です。
例えば、2進数の4桁は、16進数1桁で表せます。
1010 → A
1100 → C
逆に、16進数を2進数に戻すときは、1桁ずつ4桁の2進数に戻します。
A → 1010
C → 1100
そのため、16進小数も同じように、整数部と小数部をまとめて4桁ずつ戻せばよいです。
3B.A5
= 0011 1011 . 1010 0101
先頭の不要な0を取れば、2進数として読みやすくなります。
111011.10100101
定義・仕組み
16進数は、0〜9とA〜Fを使って値を表す記数法です。
16進数1桁は、2進数4桁に対応します。
| 16進 | 2進 | 10進での値 |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 2 | 0010 | 2 |
| 3 | 0011 | 3 |
| 4 | 0100 | 4 |
| 5 | 0101 | 5 |
| 6 | 0110 | 6 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| A | 1010 | 10 |
| B | 1011 | 11 |
| C | 1100 | 12 |
| D | 1101 | 13 |
| E | 1110 | 14 |
| F | 1111 | 15 |
小数点の左側は、右から順に 2^0、2^1、2^2 と大きくなります。
小数点の右側は、左から順に 2^-1、2^-2、2^-3 と小さくなります。
1011.0101
整数部:
1 0 1 1
2^3 2^2 2^1 2^0
小数部:
. 0 1 0 1
2^-1 2^-2 2^-3 2^-4
このテーマは、基本情報技術者試験の「基数変換」や「コンピュータシステム」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、16進小数を2のべき乗の和で表す問題が出ることがあります。
効率よく解く手順は、次のとおりです。
- 16進数1桁を2進数4桁に直す
- 小数点の位置をそのまま残す
- 2進数で1になっている桁だけを見る
- 小数点の左は2^0から、右は2^-1から数える
例えば、16進小数 3B.A5 を考えます。
まず、1桁ずつ2進数に直します。
| 16進 | 2進 |
|---|---|
| 3 | 0011 |
| B | 1011 |
| A | 1010 |
| 5 | 0101 |
並べると、次のようになります。
3B.A5
= 0011 1011 . 1010 0101
= 111011.10100101
整数部は、次の位置に1があります。
111011
→ 2^5 + 2^4 + 2^3 + 2^1 + 2^0
小数部は、次の位置に1があります。
.10100101
→ 2^-1 + 2^-3 + 2^-6 + 2^-8
したがって、全体は次のように表せます。
2^5 + 2^4 + 2^3 + 2^1 + 2^0
+ 2^-1 + 2^-3 + 2^-6 + 2^-8
ここで大切なのは、小数点の右側を2^-1から数えることです。
どんな場面で使う?
2進数、16進数、ビット列、アドレス、データ表現が出てくる問題では、基数変換の読み方が役立ちます。
特に、次のような場面で使います。
16進数で表された値を2進数として読む
ビット列のどの位置が1かを確認する
小数点を含む値を2のべき乗で表す
問題文では、頭の中だけで変換しようとせず、4ビットずつ区切ってメモするのが安全です。
A5
→ A 5
→ 1010 0101
この形にすると、桁のずれを防ぎやすくなります。
よくある誤解・混同
16進小数の変換では、次のミスがよく起こります。
| ミス | 正しい見方 |
|---|---|
| 16進数を10進数に直してから考える | 2進数へ4桁対応で直す方が速い |
| AやCの2進表現を忘れる | A=1010、C=1100を優先して覚える |
| 小数点の右を2^0から数えてしまう | 小数点の右は2^-1から始まる |
| 先頭の0を消したあと、桁の位置をずらす | 小数点の位置は変えない |
| 小数部の0を飛ばして数える | 0の桁も位置として数える |
特に、小数部では0の桁を飛ばさないようにします。
.0101
0 → 2^-1 の位置
1 → 2^-2 の位置
0 → 2^-3 の位置
1 → 2^-4 の位置
この場合、1があるのは 2^-2 と 2^-4 です。
実践問題
問題1
16進小数 1A.8 と等しいものはどれか。
| 選択肢 | 式 |
|---|---|
| ア | 2^4 + 2^3 + 2^1 + 2^-1 |
| イ | 2^4 + 2^3 + 2^1 + 2^-2 |
| ウ | 2^5 + 2^4 + 2^2 + 2^-1 |
| エ | 2^4 + 2^2 + 2^1 + 2^-1 |
答え:ア
解き方:
1A.8
= 0001 1010 . 1000
= 11010.1000
= 2^4 + 2^3 + 2^1 + 2^-1
問題2
16進小数 2C.6 と等しいものはどれか。
| 選択肢 | 式 |
|---|---|
| ア | 2^5 + 2^3 + 2^2 + 2^-1 + 2^-2 |
| イ | 2^5 + 2^3 + 2^2 + 2^-2 + 2^-3 |
| ウ | 2^6 + 2^4 + 2^3 + 2^-1 + 2^-2 |
| エ | 2^5 + 2^2 + 2^1 + 2^-2 + 2^-3 |
答え:イ
解き方:
2C.6
= 0010 1100 . 0110
= 101100.0110
= 2^5 + 2^3 + 2^2 + 2^-2 + 2^-3
問題3
16進小数 5.3 と等しいものはどれか。
| 選択肢 | 式 |
|---|---|
| ア | 2^2 + 2^0 + 2^-1 + 2^-2 |
| イ | 2^2 + 2^0 + 2^-3 + 2^-4 |
| ウ | 2^3 + 2^1 + 2^-3 + 2^-4 |
| エ | 2^2 + 2^1 + 2^-1 + 2^-2 |
答え:イ
解き方:
5.3
= 0101 . 0011
= 101.0011
= 2^2 + 2^0 + 2^-3 + 2^-4
まとめ(試験直前用)
- 16進小数は、16進数1桁を2進数4桁に直す
- A=1010、B=1011、C=1100はよく使う
- 小数点の位置はそのまま残す
- 小数点の左は2^0から右向きに数える
- 小数点の右は2^-1から右向きに数える
- 小数部の0も桁として数える
- 10進数に直すより、2進数に直して1の位置だけを見る方が速い