大端模式和小端模式,大小端模式的簡介

2025-03-12 06:25:25 字數 3126 閱讀 7464

1樓:教育小陳

具體如下:

1、大端模式:

大端模式,是指資料的高位,儲存在記憶體的低位址中,而資料的低位,儲存在記憶體的高位址中,這樣的儲存模式類似於把資料當作字串順序處理。

位址由小向大增加,而資料從高位往低位放;小端模式,是指資料的高位儲存在記憶體的高位址中,而資料的低位儲存在記憶體的低位址中,這種儲存模式將位址的高低和資料位權有效地結合起來,高位址部分權值高,低位址部分權值低,和我們的邏輯方法一致。

在大端模式下,前16位應該這樣讀: e6 84 6c 4e ( 假設int佔4個位元組)。

2、小端模式例子:

0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000。

0000440: b484 6c4e 004e ed00 0000 0000 0100 0000。

在小端模式下,前16位應該這樣讀: 4e 6c 84 e6( 假設int佔4個位元組)。

大小端模式:

為什麼會有大小端模式之分呢?這是因為在計算機系統中,我們猜中是以位元組為單位的,每個位址單元都對應著乙個位元組,乙個位元組為 8bit。但是在c語言中除了8bit的char之外,還有16bit的short型,32bit的long型(要看具體的編譯器),另外,對於位數大於 8位的處理器。

例如16位或者32位的處理器,由於暫存器寬度大於乙個位元組,那麼必然存在著乙個如何將多個位元組安排的問題。因此就導致了大端儲存模式和小端儲存模式。例如乙個16bit的short型x,在記憶體中的位址為0x0010,x的穗答山值為0x1122,那麼0x11為高位元組,0x22為低位元組。

對於 大端模式,就將0x11放在低位址中,即0x0010中,0x22放在舉穗高位址中,即0x0011中。小端模式,剛好相反。我們常用的x86結構是小端模式,而keil c51則為大端模式。

很多的arm,dsp都為小端模式。有些arm處理器還可以由硬體來選擇是大端模式還是小端模式。

2樓:網友

就是左移位唄。

就是兩種模式互換。

3樓:清寧時光

大端模式(big-endian)又稱大端位元組序,由於在網路傳輸中一般使用的是大端模式,所以也叫網路位元組序。

在大端模式中,將高位位元組放在低位位址,低位位元組放在高位位址。

舉個例子,數值 0x12345678 ,其中 0x12 這一端是高位位元組, 0x78 這一端是低位位元組。

該數值的儲存順序是這樣的:

大端模式符合我們閱讀和書寫的方式,都是從左到右的。比如 12345678 ,我們只需要按照從左到右的順序進行閱讀和書寫就是大端模式的儲存順序了。

小端模式(little-endian)又稱小端位元組序,由於大多數計算機內部處理使用的是小端模式,所以也叫主機序。

在小端模式中,將高位位元組放在高位位址,低位位元組放在低位位址。

小端模式比較符合我們人類的思維模式,大的放大的那一邊,小的放小的那一邊。但是在計算機中儲存的順序與慎塵我們看到的順序是相反的。

對於早期的計算機來說,先處理低位位元組效率比較高,因為計算都是從低位開始的,所以大多數計算機內部處理使用的是小端模式。但是計算機發展到現在,計算機的處理器相較於以前已經進步很多了,先處理高位還是低位位元組的影響已經可以忽略,但是為了向後相容,保留了大/小端模式。

大小端模式各有優勢:小端模式強制轉換型別時不需要調整位元組內容,直接擷取低位元組即可;大端模式由於符號位為第乙個位元組,很方便判斷正負。

大端模式更適合程式設計師閱讀,因為看到的內容與輸出的內容是一致的。

計算機在處理資料的時候,只會按照順序去讀取字寬早禪節,不關心數睜脊據是大端模式還是小端模式。

程式在讀取到資料後,需要判斷計算機的大小端模式,來決定是否需要進行大小端轉換。

如果讀到的第乙個位元組是高位位元組,那麼就是大端模式;反之,如果讀到的第乙個位元組是低位位元組,那麼就是小端模式。

大小端模式的簡介

4樓:斸

所謂的大端模式(big-endian),是指資料的高位元組,儲存在記憶體的低位址中,而資料的低位元組,儲存在記憶體的高位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理:地晌豎址由小向大增加,而資料從高位往低位放;

例子:0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000

0000440: b484 6c4e 004e ed00 0000 0000 0100 0000

在大端模式下,前32位應該這樣讀: e6 84 6c 4e ( 假設int佔4個位元組)

記憶方法: 位址的增長順序與值的增長順序相同 所謂的小端模式(little-endian),是指資料的高位元組儲存在記憶體的高位址中,而資料的低位元組儲存在記憶體的低位址中,這種儲存模式將位址的高低和資料位權有效地結合起來,高位址部分權值高,低位址部分權值低,和我們的邏輯方法一致。

例子:0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000

0000440: b484 6c4e 004e ed00 0000 0000 0100 0000

在小端模式下,前32位應該這樣讀: 4e 6c 84 e6( 假中孫設int佔4個位元組)

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

short int x;

char x0,x1;

x=0x1122;

x0=((char*)&x)[0]; 低位址單元。

x1=((char*)&x)[1]; 高位址單元。

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

上面的程式還可以看出,資料定址時,用的是低位位元組的位址。 #definesw16(x)\ short)(\short)(x)&(short)0x00ffu)<<8)|\short)(x)&(short)0xff00u)>>8)))

大小端模式的介紹

5樓:戀莫

大端模式,是指資料的高位元組儲存在記憶體的低位址中,而資料的低位元組儲存在記憶體的高位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理:位址由小向大增加,而資料從高位往低位放;小端模式,是指資料的高位元組儲存在記憶體的高位址中,而資料的低位元組儲存在記憶體的低位址中,這種儲存模式將位址的高低和資料位權有效地結合起來,高位址部分權值高,低位址部分權值低,和我們的邏輯方法一致。

LOL打人機模式的簡單模式和一般模式最後獲得的經驗是一樣的嗎?(同時間情況下)

首先這得看召喚師 等級,人機對戰,15級開始是減15 金幣經驗收益,20級變成25 25級35 到內30級人機一般過不了 容30金幣,經驗就不用說肯定是0。匹配的話,1到5級比人機一般等級多10到15 左右,5到10級人機一般是跟匹配一樣,15級開始一直是匹配多,簡單是最少的,拆的水晶數量或者對面投...

「模式」與「方式」的區別,模式 方式和形式的區別

一 意義的不同。方式 言行所採用的方法和形式。模式 pattern 事物的標準樣式。二 表現形式不同。形式是在一定的生產力發展水平條件下,表現人類的樸素的自然科學技術和社會科學技術發展水平,以及經濟 文化發展水平,新近的管理科學技術發展水平等。模式其實就是解決某一類問題的方 把解決某類問題的方法總結...

使命召喚系列中的殭屍模式和劇情模式有聯絡嗎

有的。除了機械殭屍圍城模式應該是另一個世界劇情,原劇情模式說的是世界的精英為了躲避小行星的撞擊開啟 宇宙殖民計劃 而又有一些人不支援這個計劃,說想要在地球建立避難所。他們只間就了鬥爭,這就分別是141特遣隊和暗影軍團的前身。坐上飛船的人有一千多人,後來小行星撞擊地球,人們跑進避難所,雙月生起。這是戰...