在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM中的big-endian和little-endian

            ARM中的big-endian和little-endian

            作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
            ARM體系中,每個字單元包含4個字節(jié)單元或者兩個半字單元。在字單元中,4個字節(jié)哪一個是高位字節(jié),哪一個是低位字節(jié)則有兩種不同的格式:big-endianlittle-endian格式。在小端模式中,低位字節(jié)放在低地址,高位字節(jié)放在高地址;在大端模式中,低位字節(jié)放在高地址,高位字節(jié)放在低地址。

            如果將一個32位的整數(shù)0x12345678存放到一個整型變量(int)中,這個整型變量采用大端或者小端模式在內(nèi)存中的存儲由下表所示。

            本文引用地址:http://www.biyoush.com/article/201611/319009.htm

            地址偏移

            大端模式

            小端模式

            0x00

            12(OP0)

            78(OP3)

            0x01

            34(OP1)

            56(OP2)

            0x02

            56(OP2)

            34(OP1)

            0x03

            78(OP3)

            12(OP0)

            如果將一個16位的整數(shù)0x1234存放到一個短整型變量(short)中。這個短整型變量在內(nèi)存中的存儲在大小端模式由下表所示。

            地址偏移

            大端模式

            小端模式

            0x00

            12(OP0)

            34(OP1)

            0x01

            34(OP1)

            12(OP0)

            由上表所知,采用大小模式對數(shù)據(jù)進行存放的主要區(qū)別在于在存放的字節(jié)順序,大端方式將高位存放在低地址,小端方式將低位存放在低地址。

            那么該如何判斷CPU是大端模式還是小端模式呢??

            在C語言中,聯(lián)合體union的存放順序是所有成員都從低地址開始存放的。利用這一特點,可以用聯(lián)合體變量判斷ARM或x86環(huán)境下,存儲系統(tǒng)是是大端還是小端模式。

            具體的代碼如下:

            #include "stdio.h"
            int main()
            {
            union w
            {
            int a; //4 bytes
            char b; //1 byte
            } c;
            c.a=1;
            if (c.b==1)
            printf("It is Little_endian!/n");
            else
            printf("It is Big_endian!/n");
            return 1;
            }



            關(guān)鍵詞: ARMbig-endianlittle-endia

            評論


            技術(shù)專區(qū)

            關(guān)閉