浮動小数点数について。
C言語みたくint,double,floatではなく、intとfloatのみ
- 誤差に注意
- 丸めの関数に注意(境界値、マイナスの挙動)
- 非有限値に注意(inf、NaN)
小数を含んだ情報を扱うときや、金額など誤差が許されない場合
- 10 倍、100 倍、1,000 倍するなどして整数に 直して処理する
測定値・統計データなどでわずかな誤差は許容できる場合(温度など)
- おそらく float 型で問題ない
整数の情報を扱う場合 ・整数の上限値を超えないかどうかに注意する
- 64 ビット環境なら整数も 64 ビットになるのでまず安心
- 32 ビット環境であればGMP 関数の利用を検討する
また、NaNとinfの違いについてだが、
NaNは大きいのか小さいのか分からない数(sqrt(-1)など)
infは、floatの許容を越えた数(2の1024乗など)