最終更新日:2026年7月25日
fe fe-technology computer-system
まず結論
浮動小数点形式とは、符号・指数部・仮数部を使って小数を表す形式です。
基本情報技術者試験では、ビット列を細かく計算する前に、次の3つを見ます。
| 部分 | 役割 | 正の最大値を考えるとき |
|---|---|---|
| 符号部 | 正か負かを表す | 正の数にする |
| 指数部 | 値の大きさの範囲を表す | できるだけ大きくする |
| 仮数部 | 有効数字を表す | できるだけ大きくする |
判断の基本は次のとおりです。
正の最大値を作る
↓
符号部は正を表す値
指数部は最大
仮数部も最大
ただし、各部分のビット数や指数の表し方は、問題文で指定された形式に従います。
直感的な説明
浮動小数点形式は、小数をそのまま並べるのではなく、符号・大きさ・細かい値に分けて表す方法です。
ざっくり言うと、次の3つに分けます。
符号部:正か負か
指数部:どれくらい大きいか
仮数部:細かい数値部分
最大値を作りたいなら、考え方はシンプルです。
正の数にする
→ 符号部を正にする
指数を大きくする
→ 指数部を最大にする
有効数字を大きくする
→ 仮数部を最大にする
つまり、まず正負を決め、その後で指数部と仮数部をできるだけ大きくすると考えます。
定義・仕組み
浮動小数点形式では、数を次のような部品で表します。
| 部品 | 意味 | 例 |
|---|---|---|
| 符号部 | 正負を表す | 0なら正、1なら負という形式が多い |
| 指数部 | 小数点の位置や値の大きさを表す | 指数が大きいほど値が大きくなりやすい |
| 仮数部 | 有効数字の部分を表す | 仮数が大きいほど値が大きくなりやすい |
問題独自の形式に注意する
FE試験では、IEEE 754そのものではなく、問題文で独自の形式が指定されることがあります。
例えば、24ビットを次のように分ける形式です。
S:1ビット
E:7ビット
M:16ビット
S EEEEEEE MMMMMMMMMMMMMMMM
さらに、値が次の式で表されるとします。
(-1)^S × 16^(E-64) × 0.M
この例では、E-64 のように一定値を引くことで、指数部から正の指数と負の指数の両方を表せるようにしています。
このような問題では、一般的な浮動小数点形式の知識に加えて、問題文で示されたビット配置と計算式を読むことが重要です。
IEEE 754との違い
実際のコンピュータでは、IEEE 754に基づく浮動小数点形式が広く使われています。
ただし、試験問題では学習用に簡略化された形式や、基数が16の独自形式が示されることがあります。
IEEE 754
→ 実際のコンピュータで広く使われる標準
問題文で指定された独自形式
→ その問題の定義に従って解く
このテーマは、基本情報技術者試験の「データ表現」や「コンピュータシステム」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、浮動小数点形式のビット列から、最大値や最小値を表すものを選ぶ問題が出ることがあります。
効率よく解く手順は、次のとおりです。
- 問題文で符号部・指数部・仮数部の位置を確認する
- 符号部が何を表すか確認する
- 正の最大値なら、符号部を正にする
- 指数部を最大にする
- 仮数部を最大にする
- 必要なら、4ビットずつ区切って16進数に直す
独自形式の計算例
先ほどの24ビット形式で、正の最大値を表す例を考えます。
S = 0
E = 1111111
M = 1111111111111111
これをつなげると、次のビット列になります。
0 1111111 1111111111111111
見やすく並べると、
011111111111111111111111
これを4ビットずつ区切ります。
0111 1111 1111 1111 1111 1111
16進数に直すと、
7 F F F F F
したがって、この独自形式の例では 7FFFFF になります。
ここで覚えるべきなのは答えそのものではなく、次の手順です。
符号を確認
→ 指数部を最大
→ 仮数部を最大
→ 4ビットずつ16進数へ変換
どんな場面で使う?
プログラムやアルゴリズムの問題で、数値の表現範囲、丸め誤差、桁落ち、オーバーフローのような話が出る可能性はあります。
そのときは、細かいビット列の暗記よりも、次の感覚が役立ちます。
指数部
→ 表せる値の大きさの範囲に関係する
仮数部
→ 有効桁数や細かさに関係する
つまり、問題文では次のように位置づけます。
ビット列から16進数を選ぶ問題
→ 科目A向き
数値誤差や表現範囲を読む問題
→ 問題文でも補助知識として役立つ
よくある誤解・混同
浮動小数点形式では、次の混同がよく起こります。
| 混同 | 正しい切り分け |
|---|---|
| 最大値なので全部1にすればよい | 符号部まで1にすると負の数になる形式が多い |
| 先頭が1でも大きいと思う | 先頭が符号なら、1は負を表すことがある |
| 指数部だけ最大にすればよい | 仮数部も最大にする必要がある |
| 仮数部だけ見ればよい | 指数部も値の大きさに大きく関係する |
| どの問題もIEEE 754で解く | 問題文で独自形式が指定されていれば、その定義に従う |
| 2進数から16進数への変換で桁をずらす | 4ビットずつ区切って変換する |
特に、最大値を問われたときは、次の順で見ます。
まず符号を見る
→ 正の最大値になる符号を選ぶ
次に指数を見る
→ 指数部を最大
最後に仮数を見る
→ 仮数部を最大
先頭ビットが符号部なら、先頭が1の選択肢は、正の最大値ではない可能性があります。
まとめ(試験直前用)
- 浮動小数点形式は、符号部・指数部・仮数部で小数を表す形式
- 符号部は正負、指数部は値の大きさ、仮数部は有効数字に関係する
- 正の最大値を作るなら、まず符号部を正にする
- 指数部と仮数部をできるだけ大きくする
- 問題文で独自形式が指定されていれば、そのビット配置と式に従う
- 2進数を16進数に直すときは、4ビットずつ区切る
- FE試験では、ビット列・数値誤差・表現範囲を切り分けて考える