大端(Big Endian)、小端(Little Endian)
端模式(Endian)的這個(gè)詞出自Jonathan Swift書寫的《格列佛游記》。這本書根據(jù)將雞蛋敲開的方法不同將所有的人分為兩類,從圓頭開始將雞蛋敲開的人被歸為Big Endian,從尖頭開始將雞蛋敲開的人被歸為L(zhǎng)ittile Endian。小人國(guó)的內(nèi)戰(zhàn)就源于吃雞蛋時(shí)是究竟從大頭(Big-Endian)敲開還是從小頭(Little-Endian)敲開。在計(jì)算機(jī)業(yè)Big Endian和Little Endian也幾乎引起一場(chǎng)戰(zhàn)爭(zhēng)。在計(jì)算機(jī)業(yè)界,Endian表示數(shù)據(jù)在存儲(chǔ)器中的存放順序。下文舉例說(shuō)明在計(jì)算機(jī)中大小端模式的區(qū)別。
如果將一個(gè)32位的整數(shù)0x12345678存放到一個(gè)整型變量(int)中,這個(gè)整型變量采用大端或者小端模式在內(nèi)存中的存儲(chǔ)由下表所示。為簡(jiǎn)單起見,本書使用OP0表示一個(gè)32位數(shù)據(jù)的最高字節(jié)MSB(Most Significant Byte),使用OP3表示一個(gè)32位數(shù)據(jù)最低字節(jié)LSB(Least Significant Byte)。
?
| 地址偏移 | 大端模式 | 小端模式 |
| 0x00 | 12(OP0) | 78(OP3) |
| 0x01 | 34(OP1) | 56(OP2) |
| 0x02 | 56(OP2) | 34(OP1) |
| 0x03 | 78(OP3) | 12(OP0) |
?
如果將一個(gè)16位的整數(shù)0x1234存放到一個(gè)短整型變量(short)中。這個(gè)短整型變量在內(nèi)存中的存儲(chǔ)在大小端模式由下表所示。
?
| 地址偏移 | 大端模式 | 小端模式 |
| 0x00 | 12(OP0) | 34(OP1) |
| 0x01 | 34(OP1) | 12(OP0) |
?
由上表所知,采用大小模式對(duì)數(shù)據(jù)進(jìn)行存放的主要區(qū)別在于在存放的字節(jié)順序,大端方式將高位存放在低地址,小端方式將低位存放在高地址。采用大端方式進(jìn)行數(shù)據(jù)存放符合人類的正常思維,而采用小端方式進(jìn)行數(shù)據(jù)存放利于計(jì)算機(jī)處理。到目前為止,采用大端或者小端進(jìn)行數(shù)據(jù)存放,其孰優(yōu)孰劣也沒有定論。
有的處理器系統(tǒng)采用了小端方式進(jìn)行數(shù)據(jù)存放,如Intel的奔騰。有的處理器系統(tǒng)采用了大端方式進(jìn)行數(shù)據(jù)存放,如IBM半導(dǎo)體和Freescale的PowerPC處理器。不僅對(duì)于處理器,一些外設(shè)的設(shè)計(jì)中也存在著使用大端或者小端進(jìn)行數(shù)據(jù)存放的選擇。
因此在一個(gè)處理器系統(tǒng)中,有可能存在大端和小端模式同時(shí)存在的現(xiàn)象。這一現(xiàn)象為系統(tǒng)的軟硬件設(shè)計(jì)帶來(lái)了不小的麻煩,這要求系統(tǒng)設(shè)計(jì)工程師,必須深入理解大端和小端模式的差別。大端與小端模式的差別體現(xiàn)在一個(gè)處理器的寄存器,指令集,系統(tǒng)總線等各個(gè)層次中。
?
請(qǐng)寫一個(gè)C函數(shù),若處理器是Big_endian的,則返回0;若是Little_endian的,則返回1
解答:
{
{
union w
{
int a;
char b;
} c;
c.a =1;
return(c.b ==1);
}
}
?
union的存放順序是所有成員都從低地址開始存放(0x0000為低地址,0xffff為高地址)
?轉(zhuǎn)自:http://hi.baidu.com/ilotus_y/blog/item/efca278f51bb72ff503d9243.html
轉(zhuǎn)載于:https://www.cnblogs.com/todsong/archive/2010/11/03/1868401.html
總結(jié)
以上是生活随笔為你收集整理的大端(Big Endian)、小端(Little Endian)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【谷歌】Google Chrome 浏览
- 下一篇: 葬身李刚儿子车轮下的漂亮女孩