---
title: "16進小数とは？分数を16進数で表す考え方【基本情報技術者試験】"
description: "16進小数の各桁を1/16、1/256、1/4096の重みとして整理し、分数を16進数の小数で表すFE試験の計算問題で、どの桁にどの数字を置くかを判断する視点を解説します。"
last_modified_at: "2026-07-25"
canonical_url: "https://stemtazoo.github.io/fe/hexadecimal-fraction/"
section: "fe"
---

## まず結論

16進小数とは、**小数点より右側の各桁が、1/16、1/256、1/4096 のような重みをもつ小数**です。

基本情報技術者試験では、分数を16進小数に直すとき、まず次の対応を思い出します。

```text
0.1(16)   = 1/16
0.01(16)  = 1/256
0.001(16) = 1/4096
```

つまり、16進小数では **小数第1位は1/16、小数第2位は1/256** です。

## 直感的な説明

10進数の小数では、右に1桁進むごとに、重みが10分の1になります。

```text
0.1  = 1/10
0.01 = 1/100
```

16進数でも考え方は同じです。

ただし、10分の1ずつではなく、**16分の1ずつ小さくなる** と考えます。

```text
0.1(16)  = 1/16
0.01(16) = 1/(16 × 16) = 1/256
```

ここで大事なのは、見た目の `0.01` を10進数の0.01と読まないことです。

16進数の `0.01(16)` は、10進数の `1/100` ではなく、**1/256** です。

## 定義・仕組み

16進小数の各桁の重みは、次のようになります。

| 位置 | 重み | 例 |
|---|---:|---|
| 小数第1位 | 16^-1 = 1/16 | 0.1(16) |
| 小数第2位 | 16^-2 = 1/256 | 0.01(16) |
| 小数第3位 | 16^-3 = 1/4096 | 0.001(16) |

16進数では、1桁に `0` から `F` までの値を入れられます。

| 16進の数字 | 10進での値 |
|---|---:|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 8 | 8 |
| A | 10 |
| F | 15 |

例えば、16進小数の `0.08(16)` は次の意味です。

```text
0.08(16) = 0 × 1/16 + 8 × 1/256
         = 8/256
         = 1/32
```

したがって、10進数の分数 `1/32` は、16進小数では `0.08(16)` と表せます。

公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。16進数や2進数の考え方は、基礎理論やコンピュータ内部の数値表現と関係が深い内容です。

## 科目Aでどう出る？

科目Aでは、16進小数は **基数変換の計算問題** として出ることがあります。

特に、次のような問題では、分母を16の累乗にそろえると考えやすいです。

```text
1/32 を16進小数で表す
```

この場合、小数第2位の重みが `1/256` なので、分母を256にそろえます。

```text
1/32 = 8/256
```

小数第2位は `1/256` の場所です。そこに `8` 個分あるので、

```text
0.08(16)
```

になります。

試験中は、次の順で見ると迷いにくいです。

```text
1. 16進小数の桁の重みを見る
2. 分母を 16, 256, 4096 などにそろえる
3. その桁に入る数字を決める
```

選択肢を切るときは、`0.01(16)` が `1/256` であることを使うと速いです。

## どんな場面で使う？


プログラムや疑似言語を読むときに、次の感覚は役立ちます。

- 16進数は、2進数を4ビットずつまとめた表し方
- 小数でも、右に進むほど重みが小さくなる
- 基数が変わると、同じ見た目の小数でも値が変わる

特に、ビット列やメモリ上の値を読む問題では、16進数が出てくることがあります。

そのときは、10進数の感覚だけで読まずに、**何進数として読んでいるか** を先に確認します。

## よくある誤解・混同

一番多い誤解は、**16進小数の `0.01` を、10進数の0.01と同じように見てしまうこと**です。

| 誤解しやすい見方 | 正しい見方 |
|---|---|
| 0.01(16) は 1/100 | 0.01(16) は 1/256 |
| 小数第2位だから100分の1 | 16進数なので16^2分の1 |
| 1/32 は 0.05(16) に見える | 1/32 = 8/256 なので 0.08(16) |

10進小数では、右に1桁進むと10分の1になります。

一方、16進小数では、右に1桁進むと16分の1になります。

```text
10進小数：0.01 = 1/100
16進小数：0.01(16) = 1/256
```

この違いを押さえるだけで、選択肢をかなり切りやすくなります。

また、2進数から16進数に直す方法でも確認できます。

```text
1/32 = 0.00001(2)
```

2進数は4ビットずつ区切ると16進数に直せます。

```text
0.0000 1000(2) = 0.08(16)
```

分数で考えても、2進数で考えても、同じ値になります。

## まとめ（試験直前用）

- 16進小数は、右に1桁進むごとに **1/16ずつ小さくなる**
- `0.1(16) = 1/16`、`0.01(16) = 1/256`
- 分数を直すときは、分母を `16`、`256`、`4096` にそろえる
- `1/32 = 8/256` なので、16進小数では `0.08(16)`
- ひっかけは、`0.01(16)` を10進数の0.01と同じに見てしまうこと
