我有以下一段代码:
int ret() {
int x = 010;
int y = 4;
int z = x | y;
return z;
}
当 x = 010 时,此函数返回 12。但是,将 x 更改为 10 时,将返回 14。为什么会这样?
OR 运算符是一个红鲱鱼:问题出在别处。
010
由于前导.是八进制文字0
。在十进制中,这是8
。
十进制x
值8
也是如此。并且8 | 4
是12
。
10
是十进制文字。并且10 | 4
是14
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句