---
title: "浮動小数点数の正規化とは？仮数部と指数部を整える操作【基本情報技術者試験】"
description: "浮動小数点数の正規化を「値を変えずに仮数部と指数部の表し方を整える操作」として整理し、切上げ・切捨て・けた上げやデータ分析の正規化との違いをFE試験向けに解説します。"
last_modified_at: "2026-07-25"
canonical_url: "https://stemtazoo.github.io/fe/floating-point-normalization/"
section: "fe"
---

## まず結論

浮動小数点数の正規化とは、**数の値は変えずに、仮数部と指数部の表し方を整える操作**です。

基本情報技術者試験では、次のように判断すると選択肢を切りやすくなります。

```text
仮数部の最上位けたを 0 以外にする
小数点の位置を動かす
指数部も合わせて調整する
```

このような操作を、浮動小数点数の正規化といいます。

データ分析の正規化とは意味が少し違うので、**何の分野の正規化か** を先に見ることが大切です。

## 直感的な説明

浮動小数点数の正規化は、数の「置き方」をきれいにそろえる作業です。

例えば、同じ数でも、次のように複数の表し方ができます。

```text
0.00101 × 2^5
0.0101  × 2^4
0.101   × 2^3
```

これらは、小数点の位置と指数を調整しているだけなので、表している値は同じです。

ただし、仮数部の先頭に 0 が多いと、限られたけた数をむだに使ってしまいます。

そこで、仮数部の有効な数字が前に来るように表し方を整えます。

```text
0.00101 × 2^5
↓
0.101   × 2^3
```

このように、**値は変えずに、表し方を標準形にそろえる** のが浮動小数点数の正規化です。

英語では、normalize the number のように表現できます。

## 定義・仕組み

浮動小数点表示では、数を次のような形で表します。

```text
仮数部 × 基数^指数部
```

2進数で考えると、基数は 2 です。

正規化では、仮数部の最上位けたが 0 以外になるように、小数点の位置を調整します。

そのとき、数の値が変わらないように、指数部も合わせて調整します。

| 操作 | 何をする？ |
|---|---|
| 仮数部の調整 | 有効な数字が前に来るように小数点位置を動かす |
| 指数部の調整 | 小数点を動かした分だけ指数を補正する |
| 値の維持 | 表し方だけを変え、数値そのものは変えない |

例えば、10進数で考えると分かりやすいです。

```text
1230 = 1.23 × 10^3
```

このとき、`1.23` が仮数部、`3` が指数部です。

`12.3 × 10^2` や `0.123 × 10^4` でも値は同じですが、表し方を一定のルールにそろえることで、比較や計算がしやすくなります。

コンピュータの浮動小数点数では、使えるけた数に限りがあります。

そのため、仮数部の先頭に不要な 0 が並ぶより、有効な数字を前に寄せた方が、限られたけた数を有効に使えます。

このテーマは、基本情報技術者試験の「テクノロジ系」や「基礎理論」と関係する内容です。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。

## 科目Aでどう出る？

科目Aでは、浮動小数点数の正規化は、用語の意味を問う問題として出題されやすいです。

判断するときは、問題文の中に **仮数部**、**指数部**、**最上位けた**、**0以外** といった言葉があるかを見ます。

| 選択肢 | 意味 | 正規化との切り分け |
|---|---|---|
| 切上げ | 端数を上の値に丸める | 小数点位置を整える話ではない |
| 切捨て | 端数を捨てる | 値の一部を捨てる話 |
| けた上げ | 計算で繰り上がる | 加算などで桁が増える話 |
| 正規化 | 表し方を標準形にそろえる | 仮数部と指数部を調整する話 |

問題文に次の表現があれば、正規化を選びます。

```text
仮数部の最上位けたが 0 以外になるようにする
```

これは、丸める操作ではありません。

また、計算結果が繰り上がる操作でもありません。

**値そのものではなく、浮動小数点表示の形を整えている** と読めれば、正規化を選べます。

## どんな場面で使う？


数値表現やプログラムの計算を読むときに、次の感覚は役立ちます。

```text
コンピュータは実数をそのまま持つのではなく、
決まった形式にして扱う
```

浮動小数点数では、数を仮数部と指数部に分けます。

そのため、同じ値でも表し方が複数ある場合があります。

正規化は、それらの表し方を一定の形にそろえる操作です。

問題文で浮動小数点数が出たら、まず次の順で読むと分かりやすいです。

1. 仮数部はどこかを見る
2. 指数部はどこかを見る
3. 小数点位置を動かしているかを見る
4. 値を変えているのか、表し方だけを変えているのかを見る

正規化では、基本的に **値は変えず、表し方を変える** と押さえます。

## よくある誤解・混同

正規化という言葉は、分野によって意味が変わります。

ここが一番の混同ポイントです。

| 分野 | 正規化の意味 | 何をそろえる？ |
|---|---|---|
| 浮動小数点数 | 仮数部と指数部の表し方を整える | 数値の表現形式 |
| データ分析 | 値のスケールをそろえる | データの範囲や単位感 |
| データベース | 重複や更新時の不整合を減らす | 表の構造 |

データ分析での正規化は、例えば値を 0〜1 の範囲に変換するような処理です。

```text
身長、体重、売上など、単位や大きさが違う値を扱いやすくする
```

一方で、浮動小数点数の正規化は、値のスケール変換ではありません。

```text
数の値は変えずに、仮数部と指数部の表し方を整える
```

同じ「正規化」でも、文脈が違うと見ている対象が違います。

FE試験では、**何を正規化しているのか** を先に確認すると安全です。

- 仮数部・指数部が出たら、浮動小数点数の正規化
- 0〜1、平均、標準偏差が出たら、データ分析の正規化や標準化
- 表、重複、更新時の不整合が出たら、データベースの正規化

このテーマでは、**仮数部の先頭を0以外にする** が決め手です。

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

- 浮動小数点数の正規化は、値を変えずに表し方を整える操作
- 判断の合図は、仮数部、指数部、最上位けた、0以外
- 小数点位置を動かしたら、値が変わらないように指数部も調整する
- 切上げ・切捨ては丸め、けた上げは繰り上がりなので別物
- データ分析の正規化とは文脈が違うので、何を正規化しているかを見る
