der*_*mai 1 c++ hex byte endianness
我在理解以下 C++ 代码时遇到了一些麻烦:
std::cout << std::hex << 61183 << std::endl; // prints eeff
Run Code Online (Sandbox Code Playgroud)
我正在使用小端机器(Intel x86-64),我想在位和字节级别了解该结果是如何产生的,因此我为最低有效位架构编写了下表。
如您所见,我希望代码行的输出FFEE不是EEFF. 所以我在制作这张桌子时一定错过了一些东西,但我真的不知道是什么。是否std::hex受计算机字节序的影响?
Endianness 是关于如何在字节寻址内存中存储数字。
另一方面,std::hex生成十六进制文本。
0x1000 * 14 + 0x100 * 14 + 0x10 * 15 + 0x1 * 15 == 61183,所以61183是EEFF十六进制的。
这不会受到字节顺序的影响。
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |