一、什么是大端和小端
所謂的大端模式,就是高位字節排放在內存的低地址端,低位字節排放在內存的高地址端。
所謂的小端模式,就是低位字節排放在內存的低地址端,高位字節排放在內存的高地址端。
簡單來說:大端——高尾端,小端——低尾端
舉個例子,比如數字 0x12 34 56 78在內存中的表示形式為:
1)大端模式:
低地址 -----------------> 高地址
0x12 | 0x34 | 0x56 | 0x78
2)小端模式:
低地址 ------------------> 高地址
0x78 | 0x56 | 0x34 | 0x12
可見,大端模式和字符串的存儲模式類似。
3)下面是兩個具體例子:
16bit寬的數0x1234在Little-endian模式(以及Big-endian模式)CPU內存中的存放方式(假設從地址0x4000開始存放)為:
內存地址 | 小端模式存放內容 | 大端模式存放內容 |
0x4000 | 0x34 | 0x12 |
0x4001 | 0x12 | 0x34 |