浮動小数点数

読み:ふどうしょうすうてんすう
外語:floating point number 英語
品詞:名詞

浮動小数点の形式で表現される数値のこと。この形式では、数値は仮数×基数の指数乗、つまりf×re指数表記形式(fは仮数部、rは基数部、eは指数)で表現される。

目次

指数形式とは、具体的には123456を0.123456×10の6乗、のようにして数値を扱うことをいい、それぞれ「123456」を仮数部、「6」を指数部、「10」を基数という。

基数は10、16、2のいずれかが主だが、標準規格のIEEE 754は精度を問わず2を基数としている。基数が2の場合、それは即ち10進数計算ではないため、10進数では有限小数になる値でも浮動小数では正確に表現できず、何らかの誤差が生じる可能性がある。

メモリーへの格納

演算結果はメモリーに格納する必要があり、プログラムから触れる必要もあるため、数値の格納のされ方はプロセッサーごとに、仕様として明確に決められている。

一般には、最上位ビットから順に、次のように格納されることが多い。

  1. 符号(s)
  2. 指数部(e)
  3. 仮数部(f)

指数部は一定の値を加えて非負になるようにする場合(バイアス方式、ゲタばき表現)と、2の補数表現をそのまま使用する場合がある。

基数は計算中に変動することがないため存在せず、何を使うかはあらかじめ仕様として決められ、固定化されている。

精度

値の保存に使用する全体のビット数により、単精度(32ビット)・倍精度(64ビット)・4倍精度(128ビット)などと呼び分けることもある。

単精度

単精度は最もよく使われるもので、様々なものがある。

IEEE 754では単精度で符号1ビット+指数部8ビット+仮数部23ビットで、2を基数とし、指数部に+127のゲタをはかせるバイアス方式である。IEEEの単精度の数値範囲は、絶対値で1.40129846e−45〜3.40282347e38の範囲となる。

その他、符号1ビット+指数部7ビット+仮数部24ビットとし、16を基数とする実装もある。

倍精度

倍精度の場合、IEEE 754では符号1ビット+指数部11ビット+仮数部52ビットで、1023のゲタをはかせる。

数値範囲は、絶対値で4.940656458412465d−324〜1.797693134862316d+308となる。

4倍精度

4倍精度の場合、IEEE 754では符号1ビット+指数部15ビット+仮数部112ビットで、16383のゲタをはかせる。

数値範囲は、絶対値で6.4751751194380251109244389582276465q−4966〜1.1897314953572317650857593266280070q+4932となる。

表現方法

構造

例えば、十進数で1357を表現すると、次のようになる。

1357=1.357×103

この場合、「1.357」が仮数部、「10」が底、「3」が指数部となる。

これを二進数で表現すると、次のようになる。

(1357)10=(10101001101.)2
 =1.0101001101×210

この場合、「1.0101001101」が仮数部、「2」が底、「10」が指数部となる。

ここではIEEE 754の単精度を用いることとし、符号1ビット、指数部8ビット、仮数部23ビットと仮定する。

符号は、正なら0、負なら1、となる。

指数部は8ビットの二進数。−127〜128までを表わすため、+127を加算した値とする(バイアス方式)。

仮数部は、左側が必ず「1.」となるよう正規化されるので、これは略し、小数点以下のみを扱うこととする。仮数部は23ビットだが、実質24ビットの精度があることになる。

従って、次のようになる。

(1357)10=1.0101001101×210

指数部=10+127=137=(10001001)2

符号1指数部8仮数部23
01000100101010011010000000000000

各部の状態

値0は、指数部(e)=仮数部(f)=0で表現する。また指数部(e)=0は正規化されてないことを現わす。

正数は符号(s)=0、負数は符号(s)=1で表わす。従って−0という値もありうる(単精度なら0x80000000が−0.0e+00になる)。

IEEE 754では指数部(e)がALL1(単精度ではe=0x7fまたは0xff)の場合、数値ではない特殊な値を表わす。この条件でかつ仮数部(f)=0の場合は∞、それ以外の場合はNaN(非数値)となる。いずれも符号(s)は有効なので、±∞、±NaNが存在することになる。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club