什麼是大小端

2021-09-09 07:08:33 字數 695 閱讀 7123

有些計算機先從低位位元組開始存放,有些則先從高位位元組開始存放,它們分別稱為「小端(little-endian)」和「大端(big-endian)

該問題不僅關係到通訊系統,還關係到可移植性。如果一台計算機可以寫資料,而另一台計算機需要讀這些資料,我們就得先知道第二台主機如何理解第一台寫的資料。注意,只有在按位元組定址的時候才需要考慮尾端問題,位元組內部的位序與尾端沒有關係。

為了解決通訊的問題,tcp/ip協議規定使用「大端」位元組序為網路位元組序,這樣一來,使用小端的計算機在傳送資料的時候必須要將自己的多位元組資料由主機位元組序轉換為網路位元組序(即「大端」位元組序),而在接收資料時,要轉換為自己的主機位元組序再進行後續處理。這樣網路通訊就與cpu、作業系統無關了,實現了網路通訊的標準化

big endian:    0x11223344 -> |0x11|0x22|0x33|0x44|

little endian: 0x11223344 -> |0x44|0x33|0x22|0x11|

下面的c程式可以用來判斷大小端

#include int main()

else if (*(char *)&x == 0x12)

else

return 0;

}

用lscpu命令也可以獲得大小端資訊。

大小端的問題 什麼是大小端和如何實現大小端)

1.什麼是大小端?1 大端 big endian 資料的高位元組存放在記憶體的低位址中,而資料的低位元組存放在記憶體的高位元組中。高低大 2 小端 little endian 資料的高位元組存放在記憶體的高位址中,而資料的低位元組存放在記憶體的低位元組中。高高小 下面以unsigned int va...

什麼是計算機的大小端規則?

在計算機記憶體中,通常是以位元組 byte 也就是 8 個位 bit 為基本儲存單元 也有以 16 位為基本儲存單元的 對於像c 中的char這樣的資料型別,它本身就是占用乙個位元組的大小,不會產生什麼問題。但是當數制型別為int,在32bit的系統中,它需要占用4個位元組 32bit 這個時候就會...

什麼是B端C端

b,business 通常為企業或商家為工作或商業目的而使用的系統型軟體 工具或平台。c,consumer 意為消費者 個人使用者或終端使用者,使用的是客戶端。b端,面對企業客戶,多為乙個群體使用,本質是滿足工作需求,多為多種功能的整合,講究協同合作。使用b端往往是長時間 沉浸式,b端是服務於公司或...