Little Endian



  • Hallo,

    als Beispiel folgende Hex Zahl: 1A 34 B7 C9 8E

    Wird im Little Endian Format diese Zahl komplett umgedreht ?

    Steht sie nun so im Speicher: 8E C9 B7 34 1A

    Danke !



  • Als Beispiel: nimm die Zahl 278. Hexadezimal ist das: 01 16. Wird von Computer im Little Endian Format gespeichert: 16 01.

    Deine Zahl würde als 8E C9 B7 34 1A im Speicher stehen.



  • Hier findest du auch ein Beispiel für einen integer Wert.



  • Der aus dem Westen ... schrieb:

    Deine Zahl würde als 8E C9 B7 34 1A im Speicher stehen.

    Ehrlich?!
    Die Zahl hat 40 Bytes. Müsste man nicht auch das Nullbyte vor 1A berücksichtigen?

    Stefan.



  • Welche Zahl hat 40 Bytes? Aber nicht die, die du dort oben genannt hast?
    UNd was soll das Nullbyte vor 1A sein? ENtweder deine Zahl fängt als Big Ednian mit 1A an oder nicht, weil nur auf deine Zahl beziehen sich diese Darstellungen.



  • Du musst dir die Zahl immer komplett mit allen führenden und folgenden Nullen aufschreiben:
    z.B. 64-bit Integerwert
    00 00 00 1A 34 B7 C9 8E

    Dann drehst du die Bytes im Prinzip um.

    --> 8E C9 B7 34 1A 00 00 00



  • Ein unglücklich gewähltes Format, das gebe ich zu. Also: Deine Zahl 1A 34 B7 C9 8E ist ein 64-Bit-Wert. Das heisst, um vollständig gespeichert zu werden, braucht er noch ein paar Nullen.

    Aus 1A 34 B7 C9 8E wird:

    08 07 06 05 04 03 02 01 Byte
    00 00 00 1A 34 B7 C9 8E Wert

    Umdrehen:

    01 02 03 04 05 06 07 08 Byte
    8E C9 B7 34 1A 00 00 00 Wert

    Die Darstellung 8E C9 B7 34 1A 00 00 00 geht doch, oder?



  • oneill5000 schrieb:

    Welche Zahl hat 40 Bytes? Aber nicht die, die du dort oben genannt hast?

    Ich meinte natürlich 40 Bits 😕

    Und das:

    knuddelvieh schrieb:

    Du musst dir die Zahl immer komplett mit allen führenden und folgenden Nullen aufschreiben:
    z.B. 64-bit Integerwert
    00 00 00 1A 34 B7 C9 8E

    Dann drehst du die Bytes im Prinzip um.

    --> 8E C9 B7 34 1A 00 00 00

    Stefan.


Anmelden zum Antworten