如何判断一个浮点数小数部分全部是0?
如何判断一个浮点数小数部分全部是0?
[解决办法]
尽量避免这种需要。
浮点数不能用于需要精确运算的场合。
使用浮点数,你只能指望误差足够小。
[解决办法]
p = p - round(p);
if( !(p> 0) && !(p <0)) {...}
[解决办法]
p = p - round(p);
if( !(p> 0) && !(p <0)) {...}
上楼,这个比较仍然是不精确的
[解决办法]
p = p - round(p);
if( p> -0.0000001) && p <0.00000001)) {...}
[解决办法]
if (fabs(f - (int)f) < FLT_EPSILON)
{
}
[解决办法]
struct floatStruct
{
unsigned mantissa: 23;
unsigned exponent: 8;
unsigned sign: 1;
};
int main()
{
float x = 1.0;
floatStruct *p = (floatStruct*)&x;
if ( ( (floatStruct*)&x )-> mantissa == 0)
printf( "all zero bit in mantissa\n ");
return 0;
}
[解决办法]
mark
[解决办法]
尾数部分为0不代表小数部分为0啊
这个很难啊
[解决办法]
说说你的原始需求吧。