浮動小数点数
2.5を例にとると、
仮数の符号は、+
仮数の絶対値は、2.5
IEEE 754の基数は、2で固定(簡単のため、以下では省略)
指数は、0
であることから、まず次のように考える。
(−1) × 2.5 × 2
仮数部は1未満でなければならないため、仮数の値2.5を(この例では右へ)シフトし正規化する。基数は2、コンピュータの内部表現は2進法であるため、シフト量は1ビットである。さらに、右シフトして1⁄2になったことを相殺するため、指数に1を加える(もし左シフトなら、指数から1を引く)。 値をシフトすることで表現範囲を広げ、丸め誤差を少なくなるようにしている。この操作を正規化という。正規化は基数の±1乗を繰り返し求めればよい。
このままでは (−1) × 1.25 × 2 となり、仮数の絶対値は1未満ではないが、仮数部は 仮数 − 1 と決められているため、次のようになる。
(−1) × (1 + 0.25) × 2
符号部は、0
仮数部は、0.25
指数は、1
指数部は、指数に127をバイアスすることが決まっているため
(−1) × (1 + 0.25) × 2
符号部は、0
仮数部は、0.25
指数部は、128
2進法では、
符号部(1ビット):+ → 0
仮数部(23ビット):0.25 → 01000000000000000000000
指数部(8ビット):128 → 10000000
浮動小数点は、最上位ビットから符号部、指数部、仮数部の順に符号化するため
2進値:01000000001000000000000000000000、16進値:40200000
松井正一と伊理正夫が提案した方式で、符号と絶対値による表現法である。論文中に示された例では、64ビットの倍精度浮動小数点数として、仮数部の長さnを示す情報6ビットと、(符号部を含む)mビットの指数部とnビットの仮数部(m+n = 58)からなる。彼らは、オーバーフローを起こさせないための、より大きい数やより小さい数の表現や、無限大などの例外的な値を含めた算術(IEEE標準の±∞や−0の扱いに似ているが、より拡張されている)も提案している。