seclan のほえほえルーム

| |

・プログラミング言語 C の新機能 Part XLVII: float.h: FLT_EVAL_METHOD, DECIMAL_DIG (2000/03/01 [])
 float.h に新たに、DECIMAL_DIG と FLT_EVAL_METHOD の二つのマクロが追加されました。

float.h 追加マクロ
マクロ名解説
DECIMAL_DIG浮動小数点型で表現できる最大の10進桁数 (ようするに FLT_DIG, DBL_DIG, LDBL_DIG の最大値)
FLT_EVAL_METHOD実際に浮動小数点演算を行うときの範囲と精度を示す値

float型double型long double型
0FLOATDOUBLELONG_DOUBLE
1DOUBLEDOUBLELONG_DOUBLE
2LONG_DOUBLELONG_DOUBLELONG_DOUBLE
-1確定できない
<-1実装定義

実際の計算は、FLOAT=float 型、DOUBLE=double 型、LONG_DOUBLE=long double 型のもつ範囲と精度で行われる

 例えば、FLT_EVAL_METHOD が 1 の時は、float型 ← float型 + float型 の計算でも、float型 ← (float型)((double型)float型 + (double型)float型) として計算が行われる。計算途中でも浮動小数点型の表現範囲とその精度が異なると、同じ値で同じ計算を行っても結果が異なることがある。



by seclan


| |

 

配信

5.55 msec