所以我在斯坦福大学做了一个在线网络课程,我遇到了一个问题,答案是在测验后提供解释但我仍然不理解。
问题是,将16位53视为0x3500(从十进制到十六进制)。这个十六进制值是用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
并且由于第一个字节是首先写入的(3个之前是3个)并且它具有更大的值(最重要),所以不应该将其视为Big Endian而不是Little Endian吗?
我确信在我的解释中我必须有一些误解,所以请随意指出它们。
43位二进制中的53是0000000000110101
二进制0x3500是0011010100000000
由于最低有效字节位于最低地址,因此它是Little endian。这里的误解是你只考虑字节的一半(4位)而不是完整的字节(8位)。