91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

大端模式和小端模式有哪些區別

發布時間:2020-12-16 11:40:47 來源:億速云 閱讀:831 作者:小新 欄目:互聯網科技

小編給大家分享一下大端模式和小端模式有哪些區別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

區別:大端模式中字數據的高字節存儲在低地址中,而字數據的低字節則存放在高地址中;而與大端存儲模式相反,在小端存儲模式中,低地址中存放的是字數據的低字節,高地址存放的是字數據的高字節。

大端模式和小端模式的區別

在C語言中除了8位的char型之外,還有16位的short型,32位的long型(要看具體的編譯器),對于位數大于8位的處理器,例如16位或者32位的處理器,由于寄存器寬度大于一個字節,那么必然存在著如何將多個字節安排的問題。因此就導致了大端存儲模式和小端存儲模式。

大端模式:

字數據的高字節存儲在低地址中,而字數據的低字節則存放在高地址中。

小端模式:

與大端存儲模式相反,在小端存儲模式中,低地址中存放的是字數據的低字節,高地址存放的是字數據的高字節。

例如,16位寬的數0x1234在小端模式CPU內存中的存放方式(假設從地址0x4000開始存放)為:

內存地址

0x4000

0x4001

存放內容

0x34

0x12

而在大端模式CPU內存中的存放方式則為:

內存地址

0x4000

0x4001

存放內容

0x12

0x34

而在大端模式CPU內存中的存放方式則為:

內存地址

0x4000

0x4001

0x4002

0x4003

存放內容

0x12

0x34

0x56

0x78

我們常用的X86結構是小端模式,而KEIL C51則為大端模式。很多的ARM,DSP都為小端模式。有些ARM處理器還可以由硬件來選擇是大端模式還是小端模式。

Note:采用大端方式進行數據存放符合人類的正常思維,而采用小端方式進行數據存放利于計算機處理。

(我的理解:小端模式在低字節就放一個低位)

下面這段代碼可以用來測試一下你的編譯器是大端模式還是小端模式:

int main()
{
short int x;
char x0,x1;
x=0x1122;
x0=*((char*)&x); //低地址單元 ,或者((char*)&x)[0];
x1=*((char*)&x + 1); //高地址單元,或者((char*)&x)[1];
printf("x0=%x\nx1=%x\n",x0,x1);
}

若x0=0x11,則是大端; 若x0=0x22,則是小端.....

以上是“大端模式和小端模式有哪些區別”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

禄劝| 海阳市| 东港市| 吕梁市| 葫芦岛市| 宣威市| 柳江县| 宁化县| 铜山县| 临安市| 庆城县| 东阳市| 治多县| 南陵县| 平罗县| 抚松县| 云浮市| 林周县| 苍南县| 六安市| 含山县| 开封县| 张掖市| 五寨县| 伊春市| 房山区| 新绛县| 隆尧县| 尉犁县| 阿拉善盟| 江都市| 环江| 双桥区| 文山县| 富民县| 会同县| 江阴市| 马公市| 金平| 大丰市| 大邑县|