好的,我正试图将所有这些较小的数字推入一个32位数字,全部在一行中。由于a是101,b是001,d是011,我认为所有这些或所有这些转变将返回给我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");
}
答案 0 :(得分:2)
您正在使用逻辑“或”。你的结果是“真实的”。使用单个管道“|”
c = ( 0 | a << 8 | b << 5 | d << 2 );