【浮動小数点】
ある定まった範囲での数値表現が浮動小数点である。
0.000123 ,456000などの数値を0.123*10^−3
0.456*10^6と表現するのと同じである。
数値を16ビットの浮動小数点表示法で表現した場合の形式は、次のようになる。
1ビット 4ビット 11ビット
↓ ↓ ↓
┌─┬─────┬───────────┐
|S| E | M |
└─┴─────▲───────────┘
↑
小数点の位置
S:仮数部の符号(正:0,負:1)
E:指数部 2のべき乗を表し負数は2の補数で表す
M:仮数部の絶対値
例)
10進数0.375を正規化した表現
┌─┬────┬───────────┐
|0|1111|11000000000|
└─┴────┴───────────┘
解説)
0.375を浮動小数点表示に変換する。
0.375を2進数で表すと0.011。
正規化するために、0.11×0.1(ともに2進数で、10進数で
表すと0.75×0.5)と変形する。
よって、0.75×2^(−1)となる。
S:符号は正だから0。
E:−1 よって2の補数で表すと1111
M:0.11となりビット列で表すと11000000000となる
最大値はどういう値になるかと言うと、8ビットの場合は上記より
以下のようになる。
仮数部の符号 → 正(0)
仮数 → 一番大きい数(0111)
指数 → 一番大きい数(11111111111)
最小数は
仮数部の符号 → 負(1)
仮数 → 一番大きい数(0111)
指数 → 一番大きい数(11111111111)
【正規化】
仮数部の絶対値の最上位けたが0以外になるようにけた合わせする操作。