大端法和小端法字節(jié)序列

在操作系統(tǒng)中诗赌,一個(gè)內(nèi)存單元大小為8bit汗茄,也就是1byte。每個(gè)內(nèi)存單元都有它的邏輯地址铭若,64位編譯環(huán)境下剔难,地址占用,但由于系統(tǒng)限制奥喻,其實(shí)只用到了48位偶宫,所以經(jīng)常會(huì)看到打印一個(gè)指針,出現(xiàn)的值是一個(gè)小于等于48位長(zhǎng)度的十六進(jìn)制值环鲤,但存儲(chǔ)這個(gè)指針仍占用64位(8bytes)的內(nèi)存空間纯趋。

    int i = 254;
    int * p = &i;
    printf("%p\n",p);        //打印指針p保存的地址值
    printf("%d\n",siezeof(p)); //打印指針p所需要的內(nèi)存大小

打印結(jié)果為0x7ffc8e034154和8。

如果一個(gè)存儲(chǔ)對(duì)象所需要存儲(chǔ)的空間能被一個(gè)內(nèi)存單元(1byte)容納冷离,那么就能直接存入一個(gè)內(nèi)存單元中吵冒,比如:char類型的數(shù)據(jù)對(duì)象。
如果一個(gè)存儲(chǔ)對(duì)象所需要的存儲(chǔ)空間大于1byte西剥,那么它將會(huì)被連續(xù)地存儲(chǔ)在多個(gè)內(nèi)存單元中痹栖。這個(gè)時(shí)候就要分大端和小端的字節(jié)序列存儲(chǔ)方式。

聲明一個(gè)32位無(wú)符號(hào)整型變量瞭空,它存儲(chǔ)時(shí)需要占據(jù)4個(gè)內(nèi)存單元揪阿。
uint32_t num = 1261859
num的二進(jìn)制表示為00000000 00010011 01000001 00100011
num的十六進(jìn)制表示為0x00134123
它的大小端存儲(chǔ)方式表示如下:

大端

順序存儲(chǔ)對(duì)象的最高有效字節(jié)(注意是字節(jié))存儲(chǔ)在該內(nèi)存段的最低地址中疗我,最低有效字節(jié)存儲(chǔ)在內(nèi)存段的最高地址中。如圖0x00134123在內(nèi)存單元中的小端存儲(chǔ)示意:
內(nèi)存地址0x101是4個(gè)內(nèi)存單元中的最低地址處南捂。0x104是4個(gè)內(nèi)存單元中的最高地址處吴裤。


1.png

根據(jù)權(quán)重比可知,00000000是最高有效字節(jié)(注意是字節(jié)溺健,8位)麦牺,00100011是最低有效字節(jié),也就是說(shuō)十六進(jìn)制表示法中00是最高有效字節(jié)鞭缭,23是最低有效字節(jié)剖膳,因此按從高字節(jié)到低字節(jié)順序存儲(chǔ),會(huì)出現(xiàn)以上結(jié)果岭辣。這就是大端法吱晒。

小端

小端法和大端法截然相反,最高有效字節(jié)儲(chǔ)存在該段內(nèi)存的最低地址處易结,最低有效字節(jié)存儲(chǔ)在最高地址處枕荞。結(jié)果如圖:


2.png

常用的操作系統(tǒng)中柜候,linux和windows是小端法來(lái)存儲(chǔ)數(shù)據(jù)對(duì)象的搞动。
那么如何查看自己的操作系統(tǒng)是用的大端還是小端法來(lái)存儲(chǔ)數(shù)據(jù)對(duì)象的呢?
可以用一個(gè)簡(jiǎn)單的c程序或者其他程序來(lái)實(shí)現(xiàn)驗(yàn)證渣刷,我這里用c程序做例子:

#include <stdio.h>
#include <stdint.h>
int main(){
    uint32_t num = 1261859;
    unsigned char * order = (unsigned char *)&num;       //將num的首地址賦值給order作為無(wú)符號(hào)字符數(shù)組的首地址
    for (int i = 0; i < 4; ++i) {
        printf("%#.2x\t",order[i]);
        printf("%p\n",order+i);
    }
}

我的操作系統(tǒng)是linux deepin 64位鹦肿,打印結(jié)果如下:


3.png

證明它用的小端法來(lái)存儲(chǔ)數(shù)據(jù)對(duì)象。
注意:網(wǎng)絡(luò)字節(jié)序列都是大端法表示辅柴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末箩溃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子碌嘀,更是在濱河造成了極大的恐慌涣旨,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件股冗,死亡現(xiàn)場(chǎng)離奇詭異霹陡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)止状,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門烹棉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人怯疤,你說(shuō)我怎么就攤上這事浆洗。” “怎么了集峦?”我有些...
    開(kāi)封第一講書人閱讀 157,790評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵伏社,是天一觀的道長(zhǎng)抠刺。 經(jīng)常有香客問(wèn)我,道長(zhǎng)洛口,這世上最難降的妖魔是什么矫付? 我笑而不...
    開(kāi)封第一講書人閱讀 56,595評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮第焰,結(jié)果婚禮上买优,老公的妹妹穿的比我還像新娘。我一直安慰自己挺举,他們只是感情好杀赢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著湘纵,像睡著了一般脂崔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梧喷,一...
    開(kāi)封第一講書人閱讀 49,906評(píng)論 1 290
  • 那天砌左,我揣著相機(jī)與錄音,去河邊找鬼铺敌。 笑死汇歹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的偿凭。 我是一名探鬼主播产弹,決...
    沈念sama閱讀 39,053評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼弯囊!你這毒婦竟也來(lái)了痰哨?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,797評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤匾嘱,失蹤者是張志新(化名)和其女友劉穎斤斧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霎烙,經(jīng)...
    沈念sama閱讀 44,250評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡撬讽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吼过。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锐秦。...
    茶點(diǎn)故事閱讀 38,711評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖盗忱,靈堂內(nèi)的尸體忽然破棺而出酱床,到底是詐尸還是另有隱情,我是刑警寧澤趟佃,帶...
    沈念sama閱讀 34,388評(píng)論 4 332
  • 正文 年R本政府宣布扇谣,位于F島的核電站昧捷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏罐寨。R本人自食惡果不足惜靡挥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鸯绿。 院中可真熱鬧跋破,春花似錦、人聲如沸瓶蝴。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,796評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)舷手。三九已至拧簸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間男窟,已是汗流浹背盆赤。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,023評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歉眷,地道東北人牺六。 一個(gè)月前我還...
    沈念sama閱讀 46,461評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像姥芥,于是被迫代替她去往敵國(guó)和親兔乞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子汇鞭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • iOS面試小貼士 ———————————————回答好下面的足夠了------------------------...
    不言不愛(ài)閱讀 1,970評(píng)論 0 7
  • __block和__weak修飾符的區(qū)別其實(shí)是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用凉唐,...
    LZM輪回閱讀 3,293評(píng)論 0 6
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 10,934評(píng)論 6 13
  • 簡(jiǎn)介 在幾乎所有的機(jī)器上台囱,多字節(jié)對(duì)象都被存儲(chǔ)為連續(xù)的字節(jié)序列。例如在C語(yǔ)言中读整,一個(gè)類型為int的變量x地址為0x1...
    啤酒找尿布閱讀 1,473評(píng)論 0 2
  • 二簿训、天門山探險(xiǎn) 張家界的行程8月25日正式開(kāi)啟。 是日米间,晨八時(shí)從長(zhǎng)沙出發(fā)强品,乘大巴往張家界。 車行至五一大道屈糊,導(dǎo)游介...
    鐵嫵閱讀 768評(píng)論 69 35