next up previous contents
Next: 漢字コード Up: 異機種間でのデータの交換 Previous: バイトオーダ

浮動小数点

単精度の浮動小数点数を考えてみましょう。浮動小数点とは一語のビットの 一部を仮数部、1ビットを符号、一部を指数部として表現したものでいくつか の表現方法があります。ワークステーションで通常使われているものはアーキ テクチャが新しいのでANSI/IEEE St d754-1985で規格化されたものがほとんど ですが、大型計算機やVAXでは古いので違う様式のものが使われています。様 式の違いは表現できる数の範囲などをも変えてしまいます。SPARCアーキテク チャでは次のような表現が使われます。数値としては例えば単精度では(符号) ×1.(仮数)×2の(指数-127)乗

        単精度  符号1ビット     指数部8ビット   仮数部23ビット

        倍精度  符号1ビット     指数部11ビット  仮数部52ビット

        4倍精度 符号1ビット     指数部15ビット  仮数部112ビット

ちなみにVAXでは

        単精度  符号1ビット     指数部8ビット   仮数部23ビット

        D倍精度 符号1ビット     指数部8ビット   仮数部55ビット

        G倍精度 符号1ビット     指数部11ビット  仮数部52ビット

        H倍精度 符号1ビット     指数部15ビット  仮数部112ビット

割り振られたビット数は同じ場合でもIEEEでは指数部が0と-1のときは特別に 扱うとか、V AXでは常に正規化された(仮数部のさらに上に1が立っていると仮 定する)方式がとられるなど、表現としては一部で互換性はありません。また IBMなどのメインフレームでは別の表現が用いられます。

これらの規格を解読すればもちろん変換プログラムを書くことは可能です。



next up previous contents
Next: 漢字コード Up: 異機種間でのデータの交換 Previous: バイトオーダ



Kinya Hibino
Sun Jan 14 21:50:32 JST 1996