首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

#define INFINITE 0xFFFFFFFF这个宏有什么用?解决办法

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

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

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

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

热点排行