我在两个人身上缠着麻烦.我理解如何用big endian表示某些东西.
例如-12是1111 1111 1111 0100
但为什么小端表示1111 0100 1111 1111而不是0100 1111 1111 1111?
lur*_*ker 17
字节顺序是字节地址顺序.小端表示较低有效字节获得较低地址.Big endian意味着相反的方式.所以它是关于字节(8位块)而不是半字节(4位块).我们使用的大多数计算机(有一些例外)在单个地址级别处理字节.
服用-12例如:
记忆中的小端,将是:
000000: F4
000001: FF
Run Code Online (Sandbox Code Playgroud)
记忆中的大端,将是:
000000: FF
000001: F4
Run Code Online (Sandbox Code Playgroud)
bak*_*olo 12
小端基本上是反转多字节值的字节顺序
1111 1111 1111 0100是2个字节,其中1111 1111第一个字节1111 0100是第二个字节.在小端,首先读取第二个字节(或最低有效字节),因此最终表示为1111 0100 1111 1111