単精度浮動小数点数
情報処理において、単精度浮動小数点数 (たんせいどふどうしょうすうてんすう、英: single-precision floating-point number)は、コンピュータの数値表現の一種である。 本来の単精度浮動小数点数とは、倍精度浮動小数点数に対比して使われる用語であって倍精度浮動小数点数が無いシステムであれば単に浮動小数点数と呼ばれるべきものである(また浮動小数点数はもともと固定小数点数と対比させた言葉であった)。 そうして、単精度はシステムの基本となる精度であり、バイトマシン(キャラクターマシン)が普通になる前のワードマシンにおいて1語長分の記憶場所を占める浮動小数点数であるのが普通である。 昔のFORTRAN言語では、整数型と実数型は同じ語長を占めることを前提に言語の規格が制定されていたりもした。その記憶語1単位分のを占める実数型が単精度であり、記憶語2単位分を占める実数型は倍精度と呼ばれた。 Crayのベクトルマシンのような語長が64ビットである科学技術専用計算機では、たとえば単精度とは64ビットを意味した。
現在の浮動小数点形式の標準であるIEEE 754では、単精度は32ビット(4オクテット)、倍精度は64ビット(8オクテット)である。
25 ) 10 = ( 1.0 ) 2 × 2 − 2 {\displaystyle (0.25)_{10}=(1.0)_{2}\times 2^{-2}} となる。ここから次のことが導かれる。
指数は -2 である(バイアスを加えるので 127+(−2)= 125 = 0111 1101 となる)。
仮数は 0 である(小数点より右側はゼロなので仮数部のビット列は全てゼロになる)。
従って実数 0.25 を IEEE 754 binary32 フォーマットで表すと 0-01111101-00000000000000000000000 = 3e800000H となる。
例: 0.375 を変換すると、 0.375 = ( 1.1 ) 2 × 2 − 2 {\displaystyle 0.375={(1.1)_{2}}\times 2^{-2}} となる。ここから次のことが導かれる。
指数は -2 である(バイアスを加えるので 127+(−2)= 125 = 0111 1101 となる)。
仮数は 1 である(1.1 の小数点より右側は 1 = x1 のみである)。
従って実数 0.375 を IEEE 754 binary32 フォーマットで表すと 0-01111101-10000000000000000000000 = 3ec00000H となる。