endianness



otsalisus Baitide järjekord andmestringis. Kaks põhilist varianti on jämedaotsalisus ja peeneotsalisus, kuid mõnikord kasutakse ka segavariante.

Informatsiooni salvestamise põhiühikuks on 8 bitist koosnev bait. Kuna suurim arv, mida ühe baidiga saab väljendada, on kümnendsüsteemi arv 255 (16-süsteemis FF), siis sellest suuremate arvude üleskirjutamiseks on vaja kasutada rohkem kui üht baiti. Näit. kümnendsüsteemi arvu 240249 saab üles kirjutada kahe baidiga F0F9 (16x15+1x0)+(16x15+1x9)=F0F9. Kummagi baidi (F0 ja F9) salvestamiseks on vaja üht mäluaadressi. Kuna tavaliselt hakatakse mälupesi täitma alates väiksematest aadressinumbritest (ekraanile ilmuvad need aadressid selliselt, et kõige väiksem number on vasakus ülanurgas, järgmine sellest paremal jne kuni ekraani parempoolse servani, siis minnakse üle ülalt teisele reale ja asutakse kirjutama alates vasakust servast jne. See tähendab, et kui kõige suurema kaaluga bait oli salvestatud kõige esimesena, siis on selle aadressinumber kõige väiksem ehk teisiti öeldes, arvu hakatakse lugema alates kõige "jämedamast" baidist. Sellist salvestusmeetodit nimetataksegi "jämedaotsaliseks" (big endian). Kui aga kõigepealt salvestatakse kõige väiksema kaaluga bait, siis tuleb arv ekraanile meile harjumatul kujul - kõige vasakpoolsem on kõige väiksema kaaluga ja vasakult viimane on kõige suurema kaaluga bait. Niisiis, antud näites kirjapilt F0F9 on arvu 240249 jämedaotsaline ja F9F0 peeneotsaline salvestusviis.

Tuleb tähele panna, et otsalisuse muutmisel muutub küll baitide järjestus, kuid bittide järjestus baidi sees ei muutu. Kummalgi kirjutusviisil on omad eelised. Näit. Intel’i x86 protsessorites käsitletakse arve peeneotsalisel kujul ning kuna arvutusi alustatakse alati kõige väiksema kaaluga numbritest (baitidest), siis on baidid kohe õiges järjekorras (väiksemad vasakul pool, suuremad paremal pool). Motorola protsessorites kasutatakse aga jämedaotsalist salvestusviisi, sest sel juhul kuvatakse arve ekraanile loomulikul kujul, st vasakult esimene on kõige suurema kaaluga bait

Vt. ka bi-endian