Hledat:

Invia.cz Last minute Tunisko Dovolená v Chorvatsku Pojeďte do Egypta Bulharsko Vydělávejte peníze s INVIA.CZ
 

Endianita

Endianita je v informatice způsob uložení čísel v paměti počítače, který definuje, v jakém pořadí se uloží jednotlivé bajty příslušného datového typu. Označuje se také jako pořadí bajtů (anglicky byte order).

Obsah

[editovat] Endianita a kompatibilita

Endianita je jedním ze základních zdrojů nekompatibility při ukládání a výměně dat v digitální podobě. Je nutné brát ji v úvahu při přenášení binárních souborů nebo při síťové komunikaci mezi různými platformami. Tento problém pramení z toho, že stejný zdrojový kód zkompilovaný pro počítače s různými procesory může díky jejich různé endianitě produkovat při ukládání nebo přenosu různá binární data. Nejrozšířenějším kódováním vícebytových dat je v současnosti little endian, což je dané masovým rozšířením architektury Intel x86.

Zdrojem zmatků může být rovněž specifikace IEEE 754, která nedefinuje, v jakém pořadí bytů se mají ukládat čísla v plovoucí řádové čárce. Endianita může způsobovat problémy i při práci s texty v kódování unicode, proto je rozumné tyto texty ukládat v kódování UTF-8, které je nezávislé na architektuře počítače.

[editovat] Big-endian

V tomto případě se na paměťové místo s nejnižší adresou uloží nejvíce významný bajt (MSB) a za něj se ukládají ostatní bajty až po nejméně významný bajt (LSB) na konci. Architektury uplatňující tento princip se nazývají big-endian (mnemotechnická pomůcka: big end first) a patří mezi ně Motorola 68000, SPARC a System/370.

Např. 32bitové číslo 0x4A3B2C1D se na adresu 100 uloží takto:

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



[editovat] Little-endian

V tomto případě se na paměťové místo s nejnižší adresou uloží nejméně významný bajt (LSB) a za něj se ukládají ostatní bajty až po nejvíce významný bajt (MSB). Architektury uplatňující tento princip se nazývají little-endian (mnemotechnická pomůcka: little end first) a patří mezi ně MOS Technology 6502, Intel x86 a DEC VAX.

Např. 32bitové číslo 0x4A3B2C1D se na adresu 100 uloží takto:

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

[editovat] Middle-endian

Některé architektury označované middle-endian (nebo někdy mixed-endian) užívají složitější způsob pro určení pořadí jednotlivých bajtů, který je dán kombinací obou výše zmíněných způsobů. Mezi takovéto architektury patří např. rodina procesorů PDP-11. Tento formát je také použit pro ukládání čísel s pohyblivou řádovou čárkou a dvojitou přesností v systémech VAX a ARM.

Např. 32bitové číslo 0x4A3B2C1D se na adresu 100 uloží takto:

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

nebo případně:

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


 
Endianita v jiných jazycích: Deutsch, English, Español, Suomi, Français, Magyar, Italiano, 日本語, 한국어, Lietuvių, Nederlands, Polski, Português, Русский, Slovenčina, Српски / Srpski, Svenska, Türkçe, Українська
Tento článek je převzat z české wikipedie - otevřené encyklopedie, originální článek naleznete na adrese: „http://cs.wikipedia.org/wiki/Endianita
Stránka byla naposledy upravena v Stránka byla naposledy editována 2. 7. 2008 v 20:37.
Veškerý text je dostupný za podmínek GNU Free Documentation License (Autorské právo pro podrobnosti).
Další služby: Portál | Katalog | Hledej | Zprávy | Počasí | Kurzy | Práce | Slovník | TV | Online hry | Java hry | SMS | Loga a melodie | Chat | Fórum | Kontakt