端序
維基百科,自由的 encyclopedia
端序(英語:Endianness),又稱字節順序,又稱尾序,在計算機科學領域中,指電腦記憶體中或在數字通信鏈路中,組成多字節的字的字節的排列順序。
在幾乎所有的機器上,多字節對象都被存儲為連續的字節序列。例如在C語言中,一個類型為int
的變量x
地址為0x100
,那麼其對應地址表達式&x
的值為0x100
。且x
的四個字節將被存儲在電腦記憶體的0x100, 0x101, 0x102, 0x103
位置。[1]
字節的排列方式有兩個通用規則。例如,將一個多位數的低位放在較小的地址處,高位放在較大的地址處,則稱小端序;反之則稱大端序。在網絡應用中,字節序是一個必須被考慮的因素,因為不同機器類型可能採用不同標準的字節序,所以均按照網絡標準轉化。
例如假設上述變量x
類型為int
,位於地址0x100
處,它的值為0x01234567
,地址範圍為0x100~0x103
字節,其內部排列順序依賴於機器的類型。大端法從首位開始將是:0x100: 0x01, 0x101: 0x23,..
。而小端法將是:0x100: 0x67, 0x101: 0x45,..
。