Endianita
Endianita je v informatike spôsob uloženia čísel v pamäti počítača, ktorý definuje, v akom poradí sa ukladajú jednotlivé jednotky informácie príslušného údajového typu. Ak ide konkrétne o bajty, označuje sa tiež ako poradie bajtov (angl. byte order).
Rôzne platformy môžu používať rôznu endianitu a tento problém je potrebné brať do úvahy pri prenose binárnych súborov alebo sieťovej komunikácii medzi platformami s rôznou endianitou.
Big-endian
V tomto prípade sa na pamäťové miesto s najnižšou adresou uloží najvýznamnejší bajt (MSB) a zaň sa ukladajú ostatné bajty až po najmenej významný bajt (LSB) na konci. Architektúry uplatňujúce tento princíp sa nazývajú big-endian (mnemotechnická pomôcka: big end first) a patria medzi ne Motorola 68000, SPARC a System/370.
Napr. 32-bitové číslo 0x4A3B2C1D
sa na adresu 100
uloží nasledovne:
100 | 101 | 102 | 103 | ||
... | 4A | 3B | 2C | 1D | ... |
Ľudia, ktorý píšu text latinkou alebo cyrilikou (texty zapisované zľava doprava), používajú kvázi zápis big-endian intuitívne na zápis čísiel – napr. v čísle „125“ je cifra „1“ cifrou s najvyššou hodnotou označujúca počet stoviek niečoho.
Little-endian
V tomto prípade sa na pamäťové miesto s najnižšou adresou uloží najmenej významný bajt (LSB) a zaň sa ukládajú ostatné bajty až po najvýznamnejší bajt (MSB). Architektúry uplatňujúce tento princíp sa nazývajú little-endian (mnemotechnická pomôcka: little end first) a patria medzi ne MOS Technology 6502, Intel x86 a DEC VAX.
Napr. 32-bitové číslo 0x4A3B2C1D
sa na adresu 100
uloží nasledovne:
100 | 101 | 102 | 103 | ||
... | 1D | 2C | 3B | 4A | ... |
Middle-endian
Niektoré architektúry označované ako middle-endian (alebo niekedy mixed-endian) používajú zložitejší spôsob určenia poradia jednotlivých bajtov, ktorý je daný kombináciou oboch vyššie spomenutých spôsobov. Medzi takéto architektúry patrí napr. rodina procesorov PDP-11. Tento formát sa tiež používa na ukladanie čísiel s pohyblivou desatinnou čiarkou a dvojitou presnosťou v systémoch VAX a ARM.
Napr. 32-bitové číslo 0x4A3B2C1D
sa na adresu 100
uloží nasledovne:
100 | 101 | 102 | 103 | ||
... | 3B | 4A | 1D | 2C | ... |
alebo prípadne:
100 | 101 | 102 | 103 | ||
... | 2C | 1D | 4A | 3B | ... |
Zdroje
Tento článok je čiastočný alebo úplný preklad článku Endianita na českej Wikipédii (číslo revízie nebolo určené).