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 关注
- 671 浏览
添加回答
举报
