Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   BigEndian-Verwirrungen beim Unicode? (https://www.delphipraxis.net/154793-bigendian-verwirrungen-beim-unicode.html)

Satty67 25. Sep 2010 16:50

AW: BigEndian-Verwirrungen beim Unicode?
 
Ich glaube Deine Darstellung war richtig, aber deine Beschreibung: "BigEndian = Höchwertigstes Byte kommt als erstes" passt doch nicht?

Auf der Wiki-Seite ist das höherwertige Byte bei BigEndian an der höchsten Speicheradresse, also als letztes?


Ich hab's jetzt... mich hat verwirrt, das im Beispiel das niederwertige Byte den größten Byte-Wert hatte.

mit Deinem Beispiel und
Delphi-Quellcode:
Int := $2211;
hat es dann Klick gemacht ;)

Neutral General 25. Sep 2010 16:56

AW: BigEndian-Verwirrungen beim Unicode?
 
Also:

Wert: $ABCD

Höchstwertigstes Byte: $AB

Little Endian (von klein nach groß = "falsch rum"):
Code:
Speicheradresse    Wert
0000               $CD
0001               $AB
Big Endian (von groß nach klein = "richtig rum"):
Code:
Speicheradresse    Wert
0000               $AB
0001               $CD

Satty67 25. Sep 2010 17:04

AW: BigEndian-Verwirrungen beim Unicode?
 
Ja, siehe mein Edit... hatte die ganze Zeit zu sehr auf die größeren Einzel-Byte-Werte geschaut und dadurch ständig höherwertiges Byte mit höchstem Einzelwert gleichgesetzt.

(Doof, aber das Thema hat zum Glück auch andere etwas verwirrt ;) )

himitsu 25. Sep 2010 18:21

AW: BigEndian-Verwirrungen beim Unicode?
 
Ja, weil der Größere am Ende ist, heißt es LittleEndian :wall:

wer soll sich denn sowas merken :(

Also im Speicher ist es LittleEndian (klein..groß)
und als Integer im Quellcode nutzen wir BigEndian (groß..klein).


Zitat:

Zitat von Satty67 (Beitrag 1051883)
(Doof, aber das Thema hat zum Glück auch andere etwas verwirrt ;) )

praktisch, wenn man es immer mal wieder vergißt und quasi immer dann, wenn man's mal braucht :oops:

implementation 25. Sep 2010 19:28

AW: BigEndian-Verwirrungen beim Unicode?
 
Zitat:

Zitat von himitsu (Beitrag 1051887)
Ja, weil der Größere am Ende ist, heißt es LittleEndian :wall:

Es ist nunmal das vordere Ende gemeint, nicht das hintere :mrgreen:

Big Endian -> groß (MSB) am vorderen Ende
Little Endian -> klein (LSB) am vorderen Ende
:wink:

Daniela.S 25. Sep 2010 20:25

AW: BigEndian-Verwirrungen beim Unicode?
 
Himi, merks dir doch einfach so...

Als erstes Byte, also an der niedrigsten Speicherstelle wird...

das höchstwertige Byte (BigEndian)
das niederwertigste Byte (LittleEndian)

gespeichert.

Oder vielleicht mit Alltagsphänomenen...
Die Uhrzeit gibt man in Std.Min.Sec an, ist BigEndian und das Datum Tag.Mon.Jahr ist LittleEndian :roll:

Satty67 25. Sep 2010 20:55

AW: BigEndian-Verwirrungen beim Unicode?
 
Zitat:

Zitat von Daniela.S (Beitrag 1051904)
Die Uhrzeit gibt man in Std.Min.Sec an, ist BigEndian und das Datum Tag.Mon.Jahr ist LittleEndian

Klingt gut, aber in zwei Wochen hat man vergessen, ob Zeit oder Datum Litte/Big war.

In Hochsprachen braucht man sowas einfach zu selten. Das Consolen-beispiel von eNGi hab' ich einfach in mein Beispiel-Folder... in x Wochen schaue ich einfach nach.

SirThornberry 25. Sep 2010 21:25

AW: BigEndian-Verwirrungen beim Unicode?
 
Ich denke die Verwirrung wird dadurch erzeugt das man beim shiften von Bits immer die BigEndian Darstellung verwendet. LittleEndian ist definitiv so das die niederwertigsten Bytes Speicheradressmäßig vor den höherwertigen Bytes kommen.
Bei LittleEndian ist ein LinksShiften eigentlich ein Shiften nach Rechts wenn man davon ausgeht das die niedrigere Speicheradresse links steht und rechts die höhere Speicheradresse.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:42 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz