Kezdőoldal » Számítástechnika » Programozás » Mit jelent a big endian és a...

Mit jelent a big endian és a little endian?

Figyelt kérdés
Kérlek a lehető legeegyszerűbben fogalmazzatok, mert nem értem értem a szakmai nyelven.
2022. jan. 15. 19:06
 1/5 anonim ***** válasza:
67%

Bájtsorrendet jelent. Laikusként megfogalmazva egy rendszerben nem mindegy, hogy mi a bájtsorrend, mert ha egy big endián rendszerbe little endian számot ütsz, nem az fog történni amit szeretnél.


Olyan, mintha az egyik rendszerben az 500-at a 005 reprezentálná, csak ezt bájtokkal képzeld el hexadecimálisan decimális számok helyett.


Little endian legkisebb helyiérték elől.

Big endian legnagyobb helyiérték elől.


Példát most nem keresek, meg majd az okosabbak kijavítanak, de a lényeg az, hogy van van little endian és big endian megvalósítás rendszereknél és nem szerencsés keverni a kettőt.

2022. jan. 15. 19:18
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
Köszönöm szépen a választ!
2022. jan. 15. 19:48
 3/5 anonim ***** válasza:

A little vagy big endian lényege:


A bitek egymás után következnek egy byte-on belül.

Jobb oldalon a nagyobb bal felé haladva a kisebb helyiértékűek. Ahogy a tizes számrendszerben.


Kettesben a 10 kettőt jelent. A 01 meg egyet. A három a 11, a négy pedig 100.


Ez mindenhol így van. A nyolc 11111111 biten, 0 és 255 közötti számérték tárolható.

A gond ott kezdődik, amikor ennél nagyobb számok tárolására van igény.

Mert akkor mit tehetünk? Az első nyolc bitet követi a másik, na de hogy lesz ezekből kétszer 255-nél több?


Hát úgy, hogy a két byte-ot egyben kezeljük, de az nem mindegy, hogyan tesszük ezt. Mondjuk a 15220-as számot ki hogyan tárolná ezen a két byte-on? Azt persze tudni kell, hogy a memória csak egy byte-os egységekben írható és olvasható.

2022. jan. 15. 21:57
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

3

"Hát úgy, hogy a két byte-ot egyben kezeljük, de az nem mindegy, hogyan tesszük ezt. Mondjuk a 15220-as számot ki hogyan tárolná ezen a két byte-on? Azt persze tudni kell, hogy a memória csak egy byte-os egységekben írható és olvasható."


Oké, itt mondd tovább, mert innentől kezdődne az, hogy mi azaz endianitás. Félbehagytad a választ, vagy mi történt?

2022. jan. 15. 22:10
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

Igen, a decimális érték 15220 bináris kifejezése ez lesz: 1110110 1110100


Ez két byte-on szépen el is fér. A processzorok tervezői azonban hol északon nőttek fel, hol délen, egy egészen más kultúrában. Ez azt hozza magával, hogy egyik a nagyobb számot írja előre, a kisebbet meg hátra, a másik meg ellenkezőleg, pl ahogy a németek. Ein und zvanzig. Egy és húsz.

Hásutt meg, pl nálunk ,húsz és egy, azaz, huszonegy.

Ezért hát, az egyik piskóta a két byte közül a kisebb helyiértékűt teszi előre, a másik meg a nagyobb helyiértékűt.


Azonban a visszaváltáskor mi is történne, ha a 1110110 és a 1110100 helyet cserélne? Hát ez: 1110100 1110110. Azonban az áhított 15220-as számból 14966 lenne. És ez még nem is durva példa, mert durvább, ha 11111111 00000000-ból 00000000 11111111 lesz. Ez 65025 helyett csupán 255.

Hát, gondolom senki sem lenne boldog, ha ilyen hanyagul bérszámfejtenék a fizetését.


Ezért nem mindegy, hogy little vagy big endian, és akkor gondoljunk a két bájtos számok helyett a négy, vagy nyolc bájton ábrázolható értékekre.


11111111 11111111 00000000 00000000

00000000 00000000 11111111 11111111



Nem csoda, hogy az Ariané-5 rakéta nem célba jutott, hanem füstbe ment.

2022. jan. 15. 22:48
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!