Hi,
Es bezieht sich auf die Ablage im Arbeitsspeicher, bzw auf dem Speichermedium.
und auf die Übertragung. Also überall da, wo Bytes in einer konkreten Reihenfolge auftreten. Im Arbeitsspeicher ist diese Reihenfolge durch die Speicheradresse gegeben, bei Datenübertragungen durch die zeitliche Abfolge.
Im Register stehen die Daten ja wieder "richtig" herum.
Nein. Im Register stehen die Bits alle gleichrangig, sie werden ja nicht einzeln adressiert. Jedes hat seine eigene Position, sein eigenes Flipflop, sie werden alle parallel bearbeitet. Dass sie eine numerische Wertigkeit haben (Stellenwertsystem), ist nur Interpretationssache. "Endianness" da zu betrachten, wo Daten parallel verarbeitet werden, ergibt daher wenig Sinn. IMO gar keinen.
Das niedrigwertigste Bit steht an der rechtesten Position, die die niedrigste Bit-Nummer (1) hat ( = 2 hoch 0).
Das niederwertigste Bit mit dem Stellenwert 2⁰=1 hat normalerweise die Bit-Nummer 0.
Und wenn ich jetzt ein Vier-Byte-Register missbrauche und daraus zwei Zwei-Byte-Register für Unicode mache, ...
... dann ist das schon ziemlich eigenwillig. "Missbrauch" ist aber ein hartes Wort.
dann muss ich die Schreibreihenfolge im Register vertauschen, damit die beiden Character nachher im Arbeitsspeicher wieder in der passenden Reihenfolge stehen.
Äh, wieso? Erstes Zeichen im Lo-Word, zweites Zeichen im Hi-Word. Was willst du da vertauschen?
Dabei war mir die Big-Endian-Notation aus diversen Netzwerk-Protokollen noch ganz geläufig :-O
Stimmt, da taucht so'n Unfug manchmal auf.
Ciao,
Martin
Vater Staat bringt uns noch alle unter Mutter Erde.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(