真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

大端模式和小端模式有哪些區(qū)別-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)專注于興山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供興山營銷型網(wǎng)站建設(shè),興山網(wǎng)站制作、興山網(wǎng)頁設(shè)計、興山網(wǎng)站官網(wǎng)定制、成都小程序開發(fā)服務(wù),打造興山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供興山網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

區(qū)別:大端模式中字數(shù)據(jù)的高字節(jié)存儲在低地址中,而字數(shù)據(jù)的低字節(jié)則存放在高地址中;而與大端存儲模式相反,在小端存儲模式中,低地址中存放的是字數(shù)據(jù)的低字節(jié),高地址存放的是字數(shù)據(jù)的高字節(jié)。

大端模式和小端模式的區(qū)別

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

大端模式:

字數(shù)據(jù)的高字節(jié)存儲在低地址中,而字數(shù)據(jù)的低字節(jié)則存放在高地址中。

小端模式:

與大端存儲模式相反,在小端存儲模式中,低地址中存放的是字數(shù)據(jù)的低字節(jié),高地址存放的是字數(shù)據(jù)的高字節(jié)。

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

內(nèi)存地址

0x4000

0x4001

存放內(nèi)容

0x34

0x12

而在大端模式CPU內(nèi)存中的存放方式則為:

內(nèi)存地址

0x4000

0x4001

存放內(nèi)容

0x12

0x34

而在大端模式CPU內(nèi)存中的存放方式則為:

內(nèi)存地址

0x4000

0x4001

0x4002

0x4003

存放內(nèi)容

0x12

0x34

0x56

0x78

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

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

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


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

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,則是小端.....


以上是“大端模式和小端模式有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站標題:大端模式和小端模式有哪些區(qū)別-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://weahome.cn/article/dsdscp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部