我要比较两个十六进制(存放在long中)下面是我的代码longconstant=80040e14;if(constant==80040e14)cout在此代码流控制中总是返回到else部分,任何人都可以建议如何进行比较。谢谢桑托沙 最佳答案 用“0x”作为常量前缀。您的常量中只有“e”,编译器会将以下形式的数字视为科学记数法:NNNeEEE。使用“0x”前缀告诉编译器以下字符采用十六进制表示法。在您的代码中,80040e14是8004000000000000000,它太大而无法放入32位值,但可以放入64位值。但是,80040e14