读书人

#define INFINITE 0xFFFFFFFF这个宏有

发布时间: 2013-11-06 16:26:37 作者: rapoo

#define INFINITE 0xFFFFFFFF这个宏有什么用?
看到代码里面有个double变量值大概是435.xxxxxxxx的样子,

if(a == INFINITE){}
这个if语句居然能够执行,求解。!!! 宏 INFINITE
[解决办法]
INFINITE表示上限或者无限大之类的, 所以这个宏表示的意思就是该数值的最大值.
因为float是实数, 在计算机中不能精确表示, 所以用0xFFFFFFFF表示其最大值, 因为2进制是最精确的.另外, 一般float是32位, 所以INFINITE是8个F.

综上, 这句判断就是看a是否达到最大值.
[解决办法]
一个宏定义而已,最大值!

读书人网 >C++

热点推荐