仮数とはなんですか?



使用ソフトウェア:
使用ソフトウェア・バージョン: 1.0
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題:
浮動小数点の数値データタイプは指数部と仮数部としてメモリに格納されるようですが、仮数部とは一体どのようなものでしょうか?

解決策:
数学的定義での仮数部とは、浮動小数点数指数表記の係数の整数部分以下の端数部分のことを指します。
例えば12.345の仮数部は.345です。
浮動小数点の数値データタイプのデータの格納は、符号、指数部、仮数部から形成されます。

仮数は、1.*** という形式の2進小数として格納されます。この小数の値の範囲は、1 以上 2 未満であり、
仮数の最上位ビットが必ず 1 になります。先頭の 1 のすぐ右側には、10 進ではなく 2 進小数点が仮定されます。
64ビットの倍精度データタイプの場合は、符号に1ビット、指数部に11ビット、仮数部に52ビット使用してメモリに格納しています。
64ビット浮動小数点の値は以下の公式で記述されます。

(符号) * (1 + 仮数部 ) * 2^( 指数部 - 1023)

指数部の1ビットは指数の符号に使用されています。指数部に負の値を用いることにより1以下の0に近い値が記述されます。
指数部が11ビットであるにも関わらず、-1022から1023の間の指数部で表現されます。

関連リンク:
NI LabVIEW 2010 Help: Mantissa & Exponent
Developer Zone Community: Convert Between IEEE 754 (Floating Point) and Binary Information
KnowledgeBase 2T7G1PQ8: なぜ浮動小数点で表されている数値の精度が落ちるのか

添付:





報告日時: 09/15/2002
最終更新日: 12/28/2011
ドキュメントID: 2PEEHE2Q