端序
維基百科,自由的 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,..
。