浮動小数点の精度

[戻る]

概要

sparc で使われている浮動小数点形式は IEEE 754 形式。
これは、符号ビットと指数部、仮数部で数を表現している。計算精度にとって重要なのは仮数部。
gooで検索したところ、計算機システム序論というサイトを見つけた。計算機で扱う数の表現について詳しく書いてある。
また、/usr/include/values.h を参照すると、アーキテクチャ毎の浮動小数点形式がわかる。

float型

float型は32bitを

符号指数部仮数部
1823
として、浮動小数点形式を表現している。

float型では仮数部は 224個の数を表現することができる。
つまり、1+1+1+… としていって正確に計算できる数の最大値は 16,777,215

double型

double型は64bitを

符号指数部仮数部
11152
として、浮動小数点形式を表現している。

double型では仮数部は 253個の数を表現することができる。
つまり、1+1+1+… としていって正確に計算できる数の最大値は 9,007,199,254,740,991

整数型との比較

整数型(short型(16bit)、long型(32bit))と、1+1+1+… としていって正確に計算できる数の最大値を比較すると、下表のようになる。

short型32,767
long型2,147,483,647
float型16,777,215
double型9,007,199,254,740,991


Copyright © 1999 by Jun Takahashi