|
情報処理において、単精度浮動小数点数 (Single precision floating point number) は、コンピュータの数値表現の一種である。 浮動小数点形式の標準であるIEEE 754では、単精度は32ビット(4オクテット)、倍精度は64ビット(8オクテット)である。IEEE 754-2008 では単精度の形式は正式には binary32 と呼ばれている。「単」や「倍」という表現は32ビットを1ワードとする32ビットアーキテクチャを基にしている。 単精度浮動小数点数は、同じ幅の固定小数点数に比べてより広範囲な数値を表せるようになっているが、同時に精度を犠牲にしている。 C言語、C++、C#、Java、Haskellでは単精度のデータ型を float と呼び〔http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html〕、Pascal、MATLABなどでは single と呼ぶ。3.2以前のOctaveでは single という名前だが倍精度である。Pythonの float も倍精度である。 == IEEE 754 での単精度浮動小数点数の形式: binary32 == IEEE 754 での binary32 の定義は次の通りである。 * 符号ビット: 1ビット * 指数部の幅: 8ビット * 仮数部の幅=精度: 24ビット(実際に現れるのは23ビット) 符号ビットは表現する数値の符号(正負)を示し、仮数の符号でもある。指数は8ビットの符号付整数であり、-128 から 127 までの値をとる。あるいは符号なし整数と解釈すれば 0 から 255 までの値をとる。IEEE 754 の binary32 フォーマットではバイアス付きの値として解釈され、指数部が127のとき実際には0を表している。 指数部が全て 0 でない限り、この形式では「暗黙の整数ビット」を 1 とみなす。従って小数部の23ビットだけがメモリフォーマット上に出現する。従って十進に換算したとき表現できる桁数は log10(224) ≈ 7.225 桁となる。ビットのレイアウトは以下のようになる。 符号ビットを sign、バイアスつきの指数部を e、23ビットの仮数部の各ビットを b-n とすると、32ビットの binary32 フォーマットで表される数値は となり、より正確に表現すると となる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「単精度浮動小数点数」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Single-precision floating-point format 」があります。 スポンサード リンク
|