[英]Endian representation of 64-bit values
假设我unsigned long long x = 0x0123456789ABCDEF
。
以下哪项是正确的? (我只能验证第一个):
67 45 23 01 EF CD AB 89
。 EF CD AB 89 67 45 23 01
出现在内存中。 01 23 45 67 89 AB CD EF
。 01 23 45 67 89 AB CD EF
。 第一个是错的。 在ia32上,至少布局是EF CD AB 89 67 45 23 01
。
其他是正确的。
小端表示最低有效位在第一个字节中,而大端表示最低有效位在最后一个字节中:
0x0123456789ABCDEF大端是0x01,0x23,0x45 ......
0x0123456789ABCDEF小端是0xEF,0xCD,0xAB ...
本机字的endianess和处理器的大小是无关紧要的; 记忆中的外观由端序决定。
我要说32位解决方案非常适合编译器。 只要大小是预期的,它就可以选择代表它缺乏本地支持的类型。
64位的我同意是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.