unsigned int command = 4;
cout << command;
command = (command << 1);
cout << command;
command = (command << 1);
cout << command;
输出:
4
8
10
为什么最后一行10
的输出而不是16
的输出?
答案 0 :(得分:19)
在此代码运行之前,某处可能存在cout << hex
。或者您不小心将cout
设置为以十六进制格式化数字。如果你添加:
command = (command<<1);
cout << command;
它应该以十六进制模式打印出20
。
答案 1 :(得分:0)
10
是16
的十六进制。
0x10 == 16
很抱歉,如果我说的那么明显。