我正在从文件中读取原始二进制文件,并想检查该数字是否为0xFFFFFFFF
。
#define LAST 0xFFFFFFFF
unsigned long data;
//...give value to data
if(data == LAST)
与LAST
被定义为4294967295
(0xFFFFFFFF
的无符号基数10表示形式相比,这会产生不同的结果。但是,我注意到如果0xFFFFFFFF
替换为-1
,则会给出正确的结果。这是为什么?
答案 0 :(得分:0)
你可以做几件事。我把它们放在一个例子中:
const unsigned long LAST = 0xFFFFFFFFu ;
将#define用于常量是不好的形式。