为什么执行此代码后0xAA的值相同?

时间:2019-07-18 09:32:23

标签: c++

问题是: 假设标志= 0xAA,执行以下语句后标志的值是什么?

选择多项式qn,选项为0xA8、0x54、0xAA和AA2。 为什么不是0xA8?

cout <<(标志<< 2);

1 个答案:

答案 0 :(得分:0)

  

假设标志= 0xAA,执行以下语句后标志的值是什么?

cout << (flags << 2)

它将是0xAA。

  

为什么不是0xA8

因为移位运算符不会修改任何一个操作数,并且因为流插入运算符不会修改右侧的操作数。

此外,即使0xAA << 2的结果也不是0xA8。它是0x2A8。