我在理解以下C++代码时遇到了一些麻烦:

std::cout << std::hex << 61183 << std::endl; // prints eeff
我正在使用小型字节序计算机(Intel x86-64),并且想从位和字节的 Angular 理解该结果的产生方式,因此我为最低有效位架构编写了下表。
c&#43;&#43; - C&#43;&#43; std::hex是否反转字节顺序? (将十进制打印为十六进制)-LMLPHP
如您所见,我希望代码行的输出是FFEE而不是EEFF。所以我在做那张桌子的时候一定错过了一些东西,但是我真的看不到什么。 std::hex是否受计算机的字节序影响?

最佳答案

字节序是关于如何将数字存储在字节寻址的内存中。
另一方面,std::hex生成十六进制文本。0x1000 * 14 + 0x100 * 14 + 0x10 * 15 + 0x1 * 15 == 61183,因此61183是十六进制的EEFF
这将不受字节顺序的影响。

10-06 14:26
查看更多