Kas yra Endianizmas?

Endianiškumas yra sistemos funkcija, detalizuojanti sveikųjų skaičių vaizdavimą. Jame nurodoma, kaip rodomi skaičiai. Panašiai kaip šnekamojoje kalboje, sveikieji skaičiai, kaip kodų dalis, turi būti išversti ant popieriaus. Nors kai kurios kultūros skaito iš dešinės į kairę, o kai kurios – iš kairės į dešinę, skaičiai koduose taip pat gali būti išdėstyti iš dešinės į kairę arba iš kairės į dešinę.

Sistemos atmintyje yra baitai, o kiekvienoje sistemos vietoje yra vienas atminties elementas. Šie elementai paprastai yra baitai, nors kai kuriose sistemose saugomi bitai. Vienas žodis arba sveikas skaičius reiškia 32 bitus arba keturis baitus. Kadangi kiekvienas atminties adresas gali saugoti tik vieną baitą, o ne keturis, sveikasis skaičius turi būti padalintas į atskirus baitus, kurių kiekviename naudojami du skaitmenys to baito reikšmei nurodyti.

Terminas „endianumas“ kilęs iš Jonathano Swifto knygos „Guliverio kelionės“, kurioje jis satyriškai aprašo skirtumus tarp to, kaip žmonės valgo virtus kiaušinius – tiek nuo didžiojo, tiek nuo mažo galo. Vadinasi, endianiškumas būna dviejų atmainų: didysis endianas ir mažasis endianas. Didelis endianinis išdėstymas paima sveikąjį skaičių, sudarytą iš kelių baitų, o reikšmingiausius iš šių baitų pateikia kairėje. Reikšmingiausias baitas saugomas mažiausiame adresu. Tokį baitų išdėstymą nesunku suprasti kalbantiesiems, pavyzdžiui, anglų kalba, kur tekstas skaitomas iš kairės į dešinę.

Mažasis endianinis išdėstymas yra toks, kai svarbiausias kelių baitų sveikojo skaičiaus baitas bus dešinėje. Čia mažiausiai reikšmingas baitas saugomas mažiausiu adresu. Tai leidžia skaityti iš dešinės į kairę, pavyzdžiui, hebrajų ir arabų kalbas. Kad baitų tvarka būtų tvarkinga, atminkite, kad kai pirmiausia išsaugomas mažiausiai reikšmingas baitas (LSB), jis vadinamas mažuoju endianu. Kai pirmiausia išsaugomas reikšmingiausias baitas (MSB), jis vadinamas dideliu endianu.

Visos sistemos yra didelės arba mažos, o kai kurios turi registro bitą, kuris leidžia vartotojui pasirinkti pageidaujamą endianiškumą. Kai sistemos faile saugomi sveikieji skaičiai, failas gali būti siunčiamas į įrenginį, kuris naudoja kito tipo endialumą. Skaičiai būtų atgaliniai, o žinutė neturėtų prasmės. Paprastai, kai neaišku, kokį galutinį variantą naudoti, pradeda veikti kažkas, vadinama tinklo baitų tvarka. Tokiu būdu sveikieji skaičiai siunčiami keturių didelių arba mažų baitų grupėmis, parenkamos atsitiktinai, o mašina, kuri gauna sveikuosius skaičius, gali pakeisti baitus, jei galutiniai skaičiai nesutampa.

Endianiškumas naudojamas tik kai ką nors vertingo, pavyzdžiui, žodį, suskaido į mažesnes dalis. Tada susidaro tvarka, kuria šios dalys turi būti saugomos sistemos atmintyje. Jis nenaudojamas, kai vertė saugoma registre, kuriame gali būti visa ji. Šiuo atveju visi bitai, dešinieji ir kairieji, yra vienodai svarbūs.