Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#9

Re: Big-Endian nach Little-Endian

  Alt 7. Feb 2004, 02:12
Zitat:
Little Endian ist die Angewohnheit von bestimmten Prozessoren (u.a. x86) die Bytes verkehrt herum im Speicher abzulegen ("Least significant byte first"). Beispiel: Ein Word hat den Wert 48849, was hexadezimal BE:EF wäre. Im Speicher steht jedoch EF:BE.
Hm

Big Endian ist die Angewohnheit von bestimmten Prozessoren (u.a. Motorola) die Bytes verkehrt herum im Speicher abzulegen.

Die Entwicklung ging von 8Bit über 16Bit zu 32Bit Rechnern. Will man Kompatibilität zischen den einzelnen Rechnertypen so wird zwangsläufig ein Little-Endian System herauskommen.

Somit sind es die Big-Endian Maschinen die als erstes die Bytes "vertauscht" haben. Nungut man kann sich darüber aber streiten.

Beispeil:

Der Speicher ist so aufgebaut

Code:
Zelle 0   1   2   3

      $12 $23 $45  $67
Wir wollen in die obige Zahl lesen,

Code:
 8 bit System = Byte =                                    Zelle[0] =         $12
16 Bit System = Word =                        Zelle[1] || Zelle[0] =      $23 12
32 Bit System = Long = Zelle[3] || Zelle[2] || Zelle[1] || Zelle[0] = $67 45 23 12
Die Adresse ist aber jedesmal die gleiche im Speicher ! Somit wären Programme auf solchen 8,16,32 Bit Systemen Speicherkompatibel obwohl sie breitere Datenzugriffe benutzen. Dies trifft auf Big-Endian Machinen nicht zu.


@Chakotay1308, poste mal zwei Beispiele, jeweils PHP und Assarbad's MD5.

Gruß Hagen
  Mit Zitat antworten Zitat