Endijancija
Endijancija je a Computer Science pojam koji opisuje kako datum je pohranjena. Točnije, definira koji je kraj višebajta tip podataka sadrži najznačajnije vrijednosti. Dvije su vrste endijanstva big-endian i little-endian.
Format podataka gdje je prvi dio najznačajniji
Big-endian je najčešći način skladištenja binarni podaci. Prvo stavlja najznačajniju (ili najveću) vrijednost, a zatim slijede manje značajne vrijednosti. Na primjer, big-endian prikaz cijeli 123 prvo stavlja vrijednost stotine (1), zatim vrijednost desetica (2), zatim vrijednost one (3) ili [123].
Format podataka
Little-endian prvo pohranjuje najmanje značajnu vrijednost, a zatim sve značajnije vrijednosti. Na primjer, broj 123 u malo-endian zapisu je [321]. Tekst niz "ABC" je predstavljen kao [CBA].
Endijanska konverzija
U većini slučajeva, programeri ne moraju navesti endianness od kompajler generira ispravnu vrstu podataka za određenu platforma. Međutim, program će možda trebati obraditi eksterno ulazni, kao što je a format datoteke koja pohranjuje podatke s drugačijim trajanjem. U tom se slučaju podaci moraju pretvoriti iz malo-endijskog u big-endian ili obrnuto.
Pretvaranje endianness-a nije tako jednostavno kao obrtanje podataka. The bajtova, a ne bitovi, mora biti obrnuto. Drugim riječima, svaki bajt (ili blok od osam bitova) mora ostati isti, ali redoslijed bajtova se mijenja. To se može objasniti pomoću heksadecimalni ili binarni prikaz podataka.
Na primjer, cijeli broj 41,394 predstavljen je u big-endian zapisu kao:
heksadecimalno: A1B2
binarni: 1010000110110010
Pretvaranje ovih podataka u malo-endian ne vraća podatke, već pojedinačne bajtove unutar podataka. Heksadecimalni koristi dvije znamenke za predstavljanje svakog bajta - [A1] [B2], dok binarni koristi osam znamenki - [10100001] [10110010].
Stoga je malo-endian prikaz od 41,394:
heksadecimalno: B2A1
binarni: 1011001010100001
NAPOMENA: Neka procesora mogu dohvatiti podatke kao big-endian ili little-endian bez pretvorbe. To se naziva bi-endian pristup podacima.