按位OR运算符

Dan*_*kar 0 c++

我有以下代码:

int ret() {
    int x = 010;
    int y = 4;
    int z = x | y;
    return z;
}
Run Code Online (Sandbox Code Playgroud)

当x = 010时,此函数返回12.但是,在将x更改为10时,将返回14.为什么会这样?

Bat*_*eba 5

OR运算符是一个红鲱鱼:问题出在其他地方.

010由于领先,是八进制文字0.在十进制中,这是8.

十进制x8也是如此.而8 | 412.

10是十进制文字.而10 | 414.


归档时间:

查看次数:

105 次

最近记录:

8 年,5 月 前