大端法與小端法簡介及應用

2021-08-27 14:59:07 字數 1073 閱讀 2627

資料在 記憶體 中的 儲存順序 都是

從 低位址 向 高位址 儲存的 (首位址 指 編號較少的 位址編號)

例 儲存 4個char (a1, a2, a3, a4),則 第乙個到 第四個 所佔的 儲存空間位址 依次為 0x101, 0x102, 0x103, 0x104

大端法,小端法 指的是 多位元組的資料(int,float)在記憶體中 所佔空間的 位址順序

如 x (int)位於 0x100 (指

首位址的編號 )處,其值 0x01234567 所在 位址空間為 0x100~0x103 的位元組

大端法0x100 0x101 0x1020x103 (

高位 在 首位址處,即編號較少的位址空間) (ibm,sun 大型機 大部分)

01 23 4567

小端法 67452301 (低位 在 首位址處,即編號較少的位址空間) (intel 等pc機 大部分)

測試**

#include typedef unsigned char *byte_pointer;

void show_byte(byte_pointer str, int len)

void show_int(int num)

int main()

結果:good dayend

a end

ba end

b end

為了便於觀察字元的記憶體分布,新增了"end"

show_int(97);

由小端法知 97在4位元組在記憶體的分布 從低位到高位 為 97 0 0 0

結果 a end 可看出,字串列印從 指標所指位址 (變數的低位位址為起始位址)開始列印

同理show_int(24930); 24930 對應 4位元組十六進製制 0x00006162 0x61 (97)為'a'的 ansic碼, 0x62(98)為'b'的 ansic碼

其內容分布 從低位到高位為 98 97 0 0

所以結果為 ba end

資料的訪問 從位址空間的低位址開始,向高位址訪問

大端法與小端法

一 什麼是位元組序 位元組序,顧名思義位元組的順序,再多說兩句就是大於乙個位元組型別的資料在記憶體中的存放順序 乙個位元組的資料當然就無需談順序的問題了 指的是記憶體的高 低位址,計算機在記憶體中存放資料的順序都是從低位址到高位址 高 低位元組 有些文章中稱低位位元組為最低有效位,高位位元組為最高有...

小端法 大端法

小端法little endian 諸如intel的機器就是採用這種規則 高位址存高位資料 大端法big endian 諸如ibm,motoral,sun採用此規則 低位址存高位資料 如需儲存oxeeaabbcc此數 如採用大端法儲存如下 address low high ee aa bb cc 如採...

小端法與大端法及驗證機器小端還是大端的驗證程式

首先請看定義 a little endian就是低位位元組排放在記憶體的低位址端,高位位元組排放在記憶體的高位址端。b big endian就是高位位元組排放在記憶體的低位址端,低位位元組排放在記憶體的高位址端。舉例說明 假設變數x型別為int,位於位址0x100處,x的十六進製制表示形式為0x01...