我有很多#define
在我的代码中。现在,一个奇怪的问题出现了。
我有这个:
#define _ImmSign 010100
(我正在尝试模拟一个二进制数)
显然,我期望这个数字变成10100。但是当我使用这个数字时,它已经变成了4160。
这里发生了什么?我该如何阻止它?
额外的
好的,这是因为语言将其解释为八进制。但是,是否有一些聪明的方法可以强制语言将数字解释为整数?如果前导 0 定义八进制,而 0x 定义十六进制,现在我想到了......
以 a 开头的整数文字0
被解释为八进制,而不是十进制,就像以开头的整数文字一样0x
被解释为十六进制。
删除前导零,你就可以开始了。
另请注意,以下划线开头后跟大写字母或另一个下划线的标识符是为实现保留的,因此您不应在代码中定义它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)