因此,我在斯坦福大学上了一堂在线网络课程,遇到一个问题,测验后提供了答案并附有解释,但我仍然不明白。
问题是,将 16位53视为0x3500 (从dec到hex)。这个十六进制值是用Little Endian还是Big Endian编写的? 我的答案是Big Endian,但正确的答案是Little Endian。
在解释中,他说 53 是 3x16 + 5 ,所以我们得到了 0x35 。
对我来说, 3 是第一个字节的表示形式 128:0 | 64:0 | 32:1 | 16:1
5 是第二个字节 8:0 |的表示。 4:1 | 2:0 | 1:1
并且由于第一个字节是最先写入的(在5之前为3)并且具有更大的值(最高有效),因此不应该将其视为Big Endian而不是Little Endian?
我确定我的解释中一定会有一些误解,请随时指出。
答案 0 :(得分:0)
16位binay中的53是0000000000110101
二进制的0x3500是0011010100000000
由于最低有效字节位于最低地址,因此为Little Endian。 这里的误解是您只考虑字节的一半(4位)而不是完整的字节(8位)。