關於大字節序和小字節序

2021-04-25 18:29:17 字數 737 閱讀 6051

大字節序:計算機體系結構中一種描述多位元組儲存順序的術語,在這種機制中最重要位元組(msb)存放在最低端的位址上。採用這種機制的處理器有ibm3700系列、pdp-10、mortolora微處理器系列和絕大多數的risc處理器。

把高有效位放在低位址段,例如在按位元組定址的儲存器中往位址 0x0001 存放值 0x12345678,在儲存器中為

位址         數值

0x0004       0x78

0x0003       0x56

0x0002       0x34

0x0001       0x12

小字節序:計算機體系結構中一種描述多位元組儲存順序的術語,在這種機制中最不重要位元組(lsb)存放在最低端的位址上。採用這種機制的處理器有pdp-11、vax、intel系列微處理器和一些網路通訊裝置。

把低有效位放在低位址段,例如在按位元組定址的儲存器中往位址 0x0001 存放值 0x12345678,在儲存器中為

位址         數值

0x0004       0x12

0x0003       0x34

0x0002       0x56

0x0001       0x78

在傳輸半字,字,雙字的時候,讀取位址時總是由低往高,通常 x86 等指令集用的是小字節序,risc 等其他指令集用大字節序。在同一指令集中進行資料傳輸不需要進行位元組序轉換,在不同的指令集之間進行傳輸時需要進行位元組序轉換,如進行網路傳輸。網路傳輸用的都是大字節序。

小字節序 VS 大字節序

小字節序 比如x86體系 資料的低位元組放在低位址處,比如乙個整型數0x12345678,在記憶體中的 分布為 78 x 0000 56 x 0001 34 x 0002 12 x 0003 little endian 分布為 12 x 0000 34 x 0001 56 x 0002 78 x 0...

關於網路位元組序和主機位元組序

什麼是位元組序?是指整數在記憶體中儲存的順序。位元組序有兩種 a.little endinan 低位儲存在記憶體的低位址,高位儲存在記憶體的高位址 b.big endian 高位儲存在記憶體的低位址,低位儲存在記憶體的高位址 舉個簡單的例子 dword dwcount 0x01020304 這樣的乙...

關於網路位元組序和主機位元組序

我們在進行網路程式設計的時候,有時候會遇到位元組序轉換的問題,為什麼呢?因為我們都知道計算機對於資料的儲存有兩種方式,一種是大端模式,一種是小端模式,但是我們資料在網路上傳輸都是大端模式,這是為了統一。當我們傳送端主機是小端模式時,我們要將主機的小端模式的位元組序轉換成網路的大端模式 當我們接收端主...