4 回答
TA貢獻1805條經驗 獲得超9個贊
if(f == 0.7)
if(f == 0.7f)
TA貢獻1836條經驗 獲得超3個贊
55
TA貢獻1863條經驗 獲得超2個贊
float f = 0.7;if( fabs(f - 0.7) < FLT_EPSILON )
printf("equal");else
printf("not equal");TA貢獻1850條經驗 獲得超11個贊
// Floating point comparison:
bool CheckFP32Equal(float referenceValue, float value)
{
const float fp32_epsilon = float(1E-7);
float abs_diff = std::abs(referenceValue - value);
// Both identical zero is a special case
if( referenceValue==0.0f && value == 0.0f)
return true;
float rel_diff = abs_diff / std::max(std::abs(referenceValue) , std::abs(value) );
if(rel_diff < fp32_epsilon)
return true;
else
return false;
}- 4 回答
- 0 關注
- 596 瀏覽
添加回答
舉報
