天天看點

大小端位元組

1、概念

所謂大端小端,指的是對于多位元組的資料類型(比如,int)在記憶體中存放的位元組順序。小端是指低位址的位元組存放的是資料的低位,高位址位元組存放的是資料的高位。大端是指低位址位元組存放的是資料的高位,高位址位元組存放資料的高位。簡單地說,低位位元組存放資料的高位就是大端,低位就是小端。

下面是一個例子,用來說明整數0x12345678在大端小端模式下不同的存放順序。

記憶體位址

小端模式

大端模式

0x5250

0x78

0x12

0x5251

0x56

0x34

0x5252

0x5253

你可能會想,我是不是搞錯了。但的确沒錯,因為12是資料的高位,78是資料的低位。

2、如何判斷

判斷的基本原理都是取出一個多位元組資料結構的第一個位元組,如果該位元組是資料的高位,那麼該機器就是大端;如果該位元組是資料的低位,那麼該機器就是小端。廢話不說,上代碼。

2.1 指針轉換

2.2 聯合

繼續閱讀