0

わかりました。これらすべての小さい数値を1つの32ビット数値にすべて1行にまとめようとしています。aは101、bは001、dは011なので、これらすべてのシフトを含む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 に答える