基本情報技術者試験対策(11)「2の補数表現と小数点形式(4)」

スポンサーリンク
基本情報技術者試験

浮動小数点形式

小数点数を表すもう1つの形式である浮動小数点形式では、小数点数を符号部指数部仮数部という3つの整数の情報で表す。

例えば、 小数点のある0101.1010という2進数を浮動小数点形式で表す場合は、整数部が0になるように桁をずらして0101.1010=0.1011010×23にして、小数点以下の1011010を仮数部とする。 桁を3つ分ずらしたことによって生じた23の3を2進数で表した11を指数部とする。 符号部は、 プラスを0で表し、マイナスを1で表す。 ここでは、プラスの値なので、符号部は0である。 ただし、この符号部は、2の補数表現の符号ビットとは違う。 1 ビットで、プラスとマイナスという2通りの情報を符号化している。

ステップ説明結果
元の数元の2進数0101.1010₂
小数点を移動して、整数部が1桁(1)または0になるように調整0101.1010 = 0.1011010 × 2³(小数点を3つ左にずらした)
小数点移動で得られた指数2³ → 指数 = 3
指数を2進数で表す3₁₀ = 11₂
小数点以下(0.1011010)の部分を仮数部とする仮数部 = 1011010
符号正の値 → 符号ビット = 0

浮動小数点形式の構成

区分内容具体的な値説明
符号部00正の数なので0(負なら1)
指数部3(₁₀)11₂小数点を左に3桁ずらしたため指数=3
仮数部10110101011010正規化後の小数点以下の部分
形式全体0 11 1011010符号部(1ビット) + 指数部(2ビット) + 仮数部(7ビット)

浮動小数点形式の具体例

浮動小数点形式の符号部、 仮数部、 指数部の入れ物を、 それぞれ何ビットで表すかは、試験問題に示される。 例えば、先ほどの例にあげた小数点数を、符号部1ビット、 指数部7ビット、 仮数部8ビットとした全体で16ビットの浮動小数点形式で表すと、 下図のようになる。 入れ物をサイズー 杯に使って、 指数部は右詰めで、 仮数部は左詰めで格納する。

16ビット浮動小数点形式の例


1. 正規化の確認

ステップ内容結果
元の値0101.1010₂
正規化小数点を3桁左へ動かす0101.1010 = 0.1011010 × 2³
指数2³ → 指数 = 3
指数(2進数)3₁₀ = 0000011₂ (7ビットで表す)
仮数部小数点以下の 1011010 を8ビットにする10110100(右端に0を補う)
符号正の数なので 00

2. 各部の構成(16ビット構造)

区分ビット数説明
符号部10正の数なので0
指数部700000113を2進数7ビットで表現
仮数部810110100小数点以下を8ビット化(右端に0を補う)

3. 全体の16ビット構成

ビット位置1514〜87〜0
部分名符号部指数部仮数部
0000001110110100

結果(16ビット浮動小数点表現)

0 0000011 10110100

(符号部1ビット + 指数部7ビット + 仮数部8ビット)


浮動小数点形式には、整数部が0になるように桁をずらすのではなく、
0101.1010=1.011010 × 22 のように、整数部が1になるように桁をずらして整数部の1を省略した小数点以下を仮数部とする形式もある。 どちらの形式であっても、 1つの小数点数を符号部、指数部、 仮数部という3つの整数の情報で表すことに違いはない。

参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]2025年版

コメント

タイトルとURLをコピーしました