Frage

Ich habe weitergelesen en.Wikipedia dass „Big-Endian-Systeme das höchstwertige Byte eines Wortes an der kleinsten Speicheradresse und das niedrigstwertige Byte an der größten speichern.“Im Gegensatz dazu speichert ein Little-Endian-System das niedrigstwertige Byte an der kleinsten Adresse.
Aber ich weiß nicht, was „die kleinste Speicheradresse“ ist und wie „Big-Endianness“ die vorherrschende Ordnung in Netzwerkprotokollen ist, wie zum Beispiel in der Internetprotokoll-Suite, wo sie als Netzwerkreihenfolge bezeichnet wird und am meisten überträgt Signifikantes Byte zuerst“, wird bei diesen Protokolltypen zuerst auf die kleinste Speicheradresse und im Little-Endian-System auf die Speicheradresse zugegriffen?

War es hilfreich?

Lösung

Wenn die Zuordnung der Speicherbytes von links nach rechts in aufsteigender Adressreihenfolge angeordnet wäre, befindet sich die kleinste Adresse auf der linken Seite.Die größte Adresse befindet sich auf der rechten Seite.

Nehmen wir an, Sie speichern den 32-Bit-Wert 19088743 0x01234567 im Hexadezimalformat, an der Adresse 0x1000.Daher erstreckt sich der 4-Byte-Wert über die 4 Bytes an der Speicheradresse 0x1000, 0x1001, 0x1002, Und 0x1003

In Big Endian ist das 01 wird gespeichert bei 0x1000 (die kleinste Adresse) und die 67 wird gespeichert bei 0x1003 (die größte Adresse).Genau so würden Sie es sich vorstellen, wenn Sie noch nie von Little Endian gehört hätten.

In Little Endian ist das 01 wird gespeichert bei 0x1003 (die größte Adresse) und die 67 wird bei 0x01000 (die kleinste Adresse) gespeichert.

Big Endian und Network Byte Order bedeuten im Allgemeinen dasselbe.

Big Endian

|===================================|
| 0x1000 | 0x1001 | 0x1002 | 0x1003 |
|-----------------------------------|
|  0x01  |  0x23  |  0x45  |  0x67  |
|===================================|

Little Endian

|===================================|
| 0x1000 | 0x1001 | 0x1002 | 0x1003 |
|-----------------------------------|
|  0x67  |  0x45  |  0x23  |  0x01  |
|===================================|

Andere Tipps

sagen Sie, Sie haben einen Computer mit einem GIB aus Speicher, das ist mit $ 2 ^ {30} $ Bytes.Sie haben ein geistiges Bild, wie dieses Gedächtnis arrangiert ist, von links nach rechts, von rechts nach links (Personen, die verwendet werden, um von links nach rechts zu schreiben, tun dies normalerweise nicht), von oben nach unten oder von unten nach oben.Das ist rein in deinem Kopf (oder eine Zeichnung auf Papier), aber was auch immer das geistige Bild, das du hast, es gibt ein erstes und ein letztes Byte.

In der Regel haben Sie ein Mapping von Integer bis zu Speicherbytes.In diesem Fall würden Sie wahrscheinlich die niedrigste Zahl mit dem ersten Byte verknüpfen.Beachten Sie, dass die niedrigste Zahl oft nicht 0 ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top