我必须编写一个例程来表示2个表示之间的转换.但我有点困惑.如果我有一个具有32位字的存储器的架构并且我必须将字0xA15D23B1存储为Big-endian,那么在23之后的5D之后存储器变为A1并且在具有Little-endian的B1结束之后存储器变为A1而在5D之后的23之后存储器是B1在A1之后是对的吗?
如果我能解决机器上的各个字节,而我的字地址是零,那么字节1是什么?在Big-endian是5D?在小端也是5D?
感谢所有愿意回答我的人
Big-endian内存布局首先是最重要的字节,而little-endian布局首先是最不重要的字节.给定值0xA15D23B1:
Memory address 0 1 2 3
Big-endian A1 5D 23 B1
Little-endian B1 23 5D A1
Run Code Online (Sandbox Code Playgroud)
请注意,big-endian内存布局在字大小方面不会改变,但是little-endian会改变.如果考虑两个短字(16位),0xA15D和0x23B1连续存储:
Memory address 0 1 2 3
Big-endian A1 5D 23 B1
Little-endian 5D A1 B1 23
Run Code Online (Sandbox Code Playgroud)