Kolejność bajtów

Z Wikipedii

Skocz do: nawigacji, szukaj

W sytuacjach, kiedy liczby całkowite lub jakiekolwiek inne dane zapisywane są przy użyciu wielu (przynajmniej dwóch) bajtów, nie istnieje jeden unikalny sposób uporządkowania tych bajtów w pamięci lub w czasie transmisji przez dowolne medium i musi być użyta jedna z wielu konwencji ustalająca kolejność bajtów (ang. byte order lub endianness). Jest to analogiczne do zapisu pozycyjnego liczb lub kierunku pisma w różnych językach – ze strony lewej na prawą albo z prawej na lewo.

Spis treści

[edytuj] Big endian

Big endian (spotykane także grubokońcowość) to forma zapisu danych, w której najbardziej znaczący bajt (zwany też grubym bajtem, z ang. high-order byte) umieszczony jest jako pierwszy. Procesory, które używają formy big endian, to między innymi SPARC, Motorola 68000, PowerPC 970, IBM System/360, Siemens SIMATIC S7.

Jest ona analogiczna do używanego na co dzień sposobu zapisu liczb.

Procesor zapisujący 32-bitowe wartości w pamięci, przykładowo 4A3B2C1D pod adresem 100, umieszcza dane, zajmując adresy od 100 do 103 w następującej kolejności:

100 101 102 103
... 4A 3B 2C 1D ...

[edytuj] Little endian

Little endian (spotykane także cienkokońcowość) to forma zapisu danych, w której mniej znaczący bajt (zwany też dolnym bajtem, z ang. low-order byte) umieszczony jest jako pierwszy. Procesory, które używają formy little endian, to między innymi wszystkie z rodziny x86, DEC VAX.

Jest ona odwrotna do używanego na co dzień sposobu zapisu liczb.

Procesor zapisujący 32-bitowe wartości w pamięci, przykładowo 4A3B2C1D pod adresem 100, umieszcza dane zajmując adresy od 100 do 103 w następującej kolejności:

100 101 102 103
... 1D 2C 3B 4A ...

[edytuj] Procesory z możliwością zmiany kolejności bajtów

Istnieją także procesory, w których można przełączyć tryb kolejności bajtów, należą do nich na przykład PowerPC (do serii PowerPC G4), SPARC, ARM.

[edytuj] Etymologia

Angielskie nazwy big endian i little endian pochodzą z książki Jonathana Swifta Podróże Guliwera i odnoszą się do mieszkańców Liliputu, których spór o to, czy ugotowane jajko należy tłuc od grubego (tępego), czy od cienkiego (ostrego) końca, doprowadził do podziału na dwa stronnictwa toczące ze sobą niekończące się, choć bezsensowne dysputy i wojny.

Utwórz książkę