little-endian vs big-endian

Anonym Dupaxoz20.11.2014 11:02 Nahlásit
Proč procesory Intel (architektura x86) ukládají bajty v pořadí little-endian (méně významné bajty jako první)? Vždyť big-endian (více významné bajty jako první) je přirozenější, co je k tomu divnému rozhodnutí vedlo?

Odpovědi

Přidat odpověď ▾

Diskuze

xewerob20.11.2014 14:16 (Upr. 20.11.2014 14:17) Nahlásit
Hlavní výhoda ukládání v LE je fakt, že ze stejné adresy se dá nějaká hodnota číst s rozdílnou délkou celočíselného datového typu, a výsledek je vždy stejný (jedná-li se ovšem o hodnotu, která se vůbec do kratšího typu vejde…).

Bude-li např na nějaké adrese uložen hodnota 3 ja 4B integer (tj. za sebou 4 byty 0x3, 0x0, 0x0, 0x0) přečtu ze stejné adresy stejnou hodnotu i jako 2B integer nebo jako char (1B). Kdyby to bylo uloženo v BE, přečetl bych v těch kratších typech jen nulu.
Přidat komentář do diskuze ▾