浮動小数点数 |
辞書:科学用語の基礎知識 算数・数学編 (NMATH) |
読み:ふどうしょうすうてんすう |
外語: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進数では有限小数になる値でも浮動小数では正確に表現できず、何らかの誤差が生じる可能性がある。
特徴 |
メモリーへの格納 |
演算結果はメモリーに格納する必要があり、プログラムから触れる必要もあるため、数値の格納のされ方はプロセッサーごとに、仕様として明確に決められている。
一般には、最上位ビットから順に、次のように格納されることが多い。
指数部は一定の値を加えて非負になるようにする場合(バイアス方式、ゲタばき表現)と、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倍精度の場合、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 |
0 | 10001001 | 01010011010000000000000 |
値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が存在することになる。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |