unsigned int command = 4;
cout << command;
command = (command << 1);
cout << command;
command = (command << 1);
cout << command;
输出:4
8
10
为什么最后一行的输出是10
,而不是16
?
在此代码运行之前可能有一个cout << hex
。或者您不小心将cout
设置为十六进制格式的数字。如果您添加:
command = (command<<1);
cout << command;
它应该以十六进制模式打印20
。
10
为16
的十六进制。
0x10 == 16