double の値を比較 [C++]
仕事のはなし
double の値を比較する場合は誤差を考慮する。許容できる誤差を定義してそれを考慮して比較する。一般的には定義済みのイプシロンを使う。
たとえは比較
× if( dA != dB ){
○ if((fabs(dA-dB) > DBL_EPSILON){
浮動小数点数が等しいかどうかを、等号演算で判定してはいけません。
浮動小数点数の同値比較には計算機イプシロンを使うこと。
これがプロの仕事です。
仕事のはなし
double の値を比較する場合は誤差を考慮する。許容できる誤差を定義してそれを考慮して比較する。一般的には定義済みのイプシロンを使う。
たとえは比較
× if( dA != dB ){
○ if((fabs(dA-dB) > DBL_EPSILON){
浮動小数点数が等しいかどうかを、等号演算で判定してはいけません。
浮動小数点数の同値比較には計算機イプシロンを使うこと。
これがプロの仕事です。
この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。
コメント 0