little und big endian
-
geht das bis auf die bits hinunter oder nur auf die bytes? ist ein byte auf einem big endian system gleich wie auf einem little endian? oder sind da die bits dieser bytes auch umgekehrt?
wenn ich ein word hab in ax, dann ist zuerst das al und dann das ah. wenn aber die bits der bytes gleich sind und nur die ordnung der bytes umgekehrt ist, wie die funktion bswap annehmen lässt, dann muss von links gesehen das bit 8 gesetzte sein, sobald 0x0001 in ax steht. und nicht das erste. weil sonst wäre das ja dann 255 oder?
dh das schaut dann so aus auf little endian systemen, wie die i386er welche sind oder?
00000001 00000000oder sieht das so aus?
10000000 00000000und auf big endian wäre es dann im ersten fall:
00000000 00000001
im zweiten fall:
00000000 10000000=> entweder steht das dann so komisch drin bei little endian oder auch die bits eines bytes sind spiegelverkehrt.
-
In einem Byte ist immer Bit 0 das niedrigste und Bit 7 das höchste. Von daher betrifft die Endianess für die Programmierung nur Bytes und keine Bits. Wies intern ist ist ne andere Sache aber da kann keienr hinter kommen, der Speicher liefert nunmal nur Bytes
-
Nimm als Beispiel den Hex Wert 0x7F3A
Littte Endian: 0x7F3A
Big Endian: 0x3A7F