仮数

From Wikipedia, the free encyclopedia

仮数 (mantissa) と指数 (exponent) を使って数値を表す浮動小数点数

仮数(かすう)とは、浮動小数点数の一部で、有効数字を構成する部分である。英語では significandcoefficientmantissa などと呼ぶ(後述)。指数の表現によって、整数で表される場合もあるし、小数で表される場合もある。

123.456 78 という数について、仮数部を整数で表すと、仮数は12345678、指数は 5 となる。したがってその値は次の式で表される(指数表記)。

12 345 678 × 105

同じ値を正規化表現することもできる。この場合、仮数を 1.2345678 という小数で表し、指数を +2 とする。

1.234 5678 × 10+2

同じ値を言語独立算術英語版規格で指定されたフォーマットで表現することもできる。AdaC言語FORTRANModula-2 などがこの規格に従っている。JIS X 0210-1986(情報交換用文字列による数値表現)では、この形を「正規形」と呼称している[1]

0.123 456 78 × 10+3

なお、第9回 CGPM(1948,決議7)[2]及び第22回 CGPM(2003,決議10)[3]により、小数部を3桁ごとにスペースで区切るのが通例である[4]

仮数と hidden bit

二進法で浮動小数点数を表す場合、仮数は二進数で表され、その桁数(つまりビット幅)が特徴となる。常に正規化されるため、仮数の最上位ビットは常に1となるので、一般にはそのビットを格納せず "hidden bit" や「けち表現」などと呼ぶ。仮数のビット幅を数える際、この hidden bit を加える場合と加えない場合がある。例えば、IEEE 754倍精度形式は、hidden bit を含めるか否かによって仮数のビット幅を53ビットと言ったり、52ビットと言ったりする。hidden bit があるのは二進表現の場合のみである。IEEE 754 は精度 p を仮数の桁数と定義しており、その際に暗黙の前置されるビットも含むとしている(例えば、倍精度形式の精度 p は 53 である)。

ちなみに、x87の内部表現に用いられる80ビット拡張倍精度浮動小数点数の仮数部は、他の形式と異なりケチ表現ではない。

英語での呼称

引用

参考文献

Related Articles

Wikiwand AI