【发布时间】:2014-06-27 19:54:11
【问题描述】:
我注意到cout << hex 给了我奇怪的结果,我找不到任何可以回答原因的地方。我正在做的只是将一些值分配给uint8_t 和uint16_t,然后尝试将它们写入标准输出。当我运行这个时:
uint8_t a = 0xab;
uint16_t b = 0x24de;
cout << hex << a << endl;
cout << hex << b << endl;
我得到了结果:
$./a.out
24de
$
没有为 uint8_t 显示值。这可能是什么原因造成的?我认为不会有针对一种类型的 cout 实现,而不是另一种。
【问题讨论】:
-
BTW
hex是粘性的,一旦您在第一行执行此操作,它就会持续存在,直到您设置dec。