C言語 浮動小数点の最大値 最小値 - float.h - [ FLT_MIN, FLT_MAX, ... ]

2008.08.23 Saturday | by LRESULT


float.h(浮動小数点の制限値)には、

浮動小数点(floatや、double, long double)の
上限や下限の定義が記載されています。


FLT_MIN   float型の正の最小値
DBL_MIN   double型の正の最小値
LDBL_MIN  long double型の正の最小値

FLT_MAX   float型の最大値
DBL_MAX   double型の最大値
LDBL_MAX  long double型の最大値

FLT_DIG   float型の精度、有効桁数
DBL_DIG   double型の精度、有効桁数
LDBL_DIG  long double型の精度、有効桁数





FLT_ROUND        丸めモード ( 1:最も近い値, -1:不定,
                 0:ゼロに近い値, 2:正の近い値, 3:負の近い値, 4〜:その他 )
                 通常は1になってるかと思います。

FLT_RADIX        浮動小数点の基数
                 『 0.1 * 2^1 』 の場合、
                 2が基数部、0.1が仮数部、1が指数部となります。

FLT_MANT_DIG     float型のFLT_RADIXを基数とした時の仮数部の桁数
DBL_MANT_DIG     double型のFLT_RADIXを基数とした時の仮数部の桁数
LDBL_MANT_DIG    long double型のFLT_RADIXを基数とした時の仮数部の桁数

FLT_EPSILON      float型の1+e≒1.0 となるようなe (1との差が最小値となる値)
DBL_EPSILON      double型の1+e≒1.0 となるようなe (1との差が最小値となる値)
LDBL_EPSILON     long double型の1+e≒1.0 となるようなe (1との差が最小値となる値)

FLT_MIN_EXP      float型のFLT_RADIXを基数とした時の指数部の最小値
DBL_MIN_EXP      double型のFLT_RADIXを基数とした時の指数部の最小値
LDBL_MIN_EXP     long double型のFLT_RADIXを基数とした時の指数部の最小値

FLT_MAX_EXP      float型のFLT_RADIXを基数とした時の指数部の最大値
DBL_MAX_EXP      double型のFLT_RADIXを基数とした時の指数部の最大値
LDBL_MAX_EXP     long double型のFLT_RADIXを基数とした時の指数部の最大値

FLT_MIN_10_EXP   float型の10を基数とした時の指数部の最小値
DBL_MIN_10_EXP   double型の10を基数とした時の指数部の最小値
LDBL_MIN_10_EXP  long double型の10を基数とした時の指数部の最小値

FLT_MAX_10_EXP   float型の10を基数とした時の指数部の最大値
DBL_MAX_10_EXP   double型の10を基数とした時の指数部の最大値
LDBL_MAX_10_EXP  long double型の10を基数とした時の指数部の最大値



ちなみに、浮動小数点の有効桁数ですが
VC8では、float型が6桁、double型とlong double型が15桁となっています。

C++Builderを見てみると、
float型が6桁、double型が15桁、long double型が18桁となっていました。

普段は、有効桁くらいしか気にしてなかったりしますが
本格的な科学計算やるときなんかに、意味があるんかな‥

カテゴリ:C言語 float.h | 22:23 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/18

トラックバック