0

好的,我正在尝试将所有这些较小的数字塞入一个 32 位数字中,全部放在一行中。由于 a 是 101,b 是 001,d 是 011,我认为 an or 与所有这些变化会返回给我 101001011 或 331。但 cout 返回 1。

int main()
{
    int a, b, c, d;
    a = 5;
    b = 1;
    d = 3;
    c = 0;

    c = ( 0 || a << 8 || b << 5 || d << 2 );
    cout << c;
    system("PAUSE");
}
4

1 回答 1

2

您正在使用逻辑“或”。你的结果是“真的”。使用单管道“|”

c = ( 0 | a << 8 | b << 5 | d << 2 );
于 2013-02-09T00:03:30.663 回答