Bits und Byte Reihenfolge

imou

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
in der Übung a) habe ich so beantwortet ,

84 38 124 58

ist so richtig ?

und für die b) Byte Reihenfolge komme ich nicht ganz Klar
 

Anhänge

  • rechner.png
    rechner.png
    69,1 KB · Aufrufe: 34
Bei a) steht in der Aufgabe, dass es sich um eine 32 Bit Zahl handelt. Du hättest also alle 32 Bits zusammennehmen müssen, in den vier Varianten. Da liegst du wohl falsch.

Bei b) nimmst du z.B. die linken 8 Bits, berechnest einmal in der gezeigten Bitreihenfolge den Dezimalwert, und dann in der umgekehrten Bitreihenfolge den Dezimalwert. Dann suchst du dir das Zeichen für diesen Dezimalwert aus einer ASCII-Tabelle. Und dann wohl noch einmal in der anderen Bytereihenfolge (also abcd, dcba zum Beispiel).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei a) steht in der Aufgabe, dass es sich um eine 32 Bit Zahl handelt. Du hättest also alle 32 Bits zusammennehmen müssen, in den vier Varianten. Da liegst du wohl falsch.

Bei b) nimmst du z.B. die linken 8 Bits, berechnest einmal in der gezeigten Bitreihenfolge den Dezimalwert, und dann in der umgekehrten Bitreihenfolge den Dezimalwert. Dann suchst du dir das Zeichen für diesen Dezimalwert aus einer ASCII-Tabelle. Und dann wohl noch einmal in der anderen Bytereihenfolge (also abcd, dcba zum Beispiel).
Danke .. für a habe ich alle 32 bits (von Links Lsb bis MSB Recht berechnet ) und habe ich 935339604 bekommen .
 
Also ich hätte jetzt alle Bits einmal von links nach rechts, und einmal von rechts nach links gelesen. Und dann für beide Varianten einmal die komplette Reihenfolge der Bytes gedreht.

00101010 01100100 00111110 01011100
2A643E5C hex = 711212636 dez
5C3E642A hex = 1547592746 dez

00111010 01111100 00100110 01010100
3A7C2654 hex = 981214804 dez
54267C3A hex = 1411808314 dez

Und dann als Ascii Zeichen das gleiche:
2A 64 3E 5C = *d>\
usw.

In der Praxis wären da noch mehr Varianten drin, aber bei einer Übungsaufgabe gab es sicher vorher mal eine ähnliche Aufgabe an der das präsentiert wurde.
 
Also ich interpretiere die Aufgaben so:
- die Bits könnten mit Bit 0 (LSB) zuerst (Standard) oder mit Bit 7 (MSB) zuerst übertragen worden sein
- die Byte-Reihenfolge (endianness) könnte mit kleinstwertiges Byte zuerst oder höchstwertiges Byte zuerst übertragen worden sein

Dementsprechend ergeben sich 2 Möglichkeiten für die Wertigkeiten der Bits. Und 2 Möglichkeiten der Byte-Reihenfolge. Das sind die 4 erwähnten Varianten.

Schreibe unter die Bitgruppen die hexadezimale Zusammenfassung von je 4 Bits, einmal für Bit0 zuerst und einmal für Bit7 zuerst.

a) Je 8 Bits = zwei Hexadezimalziffern bilden zusammen ein Byte. Fasse die 4 Bytes mal von links nach rechts und mal von rechts nach links zusammen. Du erhältst 32-Bit-Hexadezimalzahlen mit je 8 Hexadezimalziffern. Die wandele in Dezimalzahlen um, z.B. mit dem Windows Taschenrechner.

b) mit dem Hexadezimalwert eines Bytes schaue in die ASCII Tabelle, welches Zeichen den Wert hat. Beachte: ASCII Zeichen sind nur die Zeichen mit den Werten 16#00 bis 16#7F. Die in einem Byte möglichen Werte 16#80 bis 16#FF sind in ASCII nicht definiert, sie können je nach Standard (Codepages, ANSI, ISO, ...) mit unterschiedlichen Zeichen belegt sein.

Code:
Bitfolge    :  0010 1010   0110 0100   0011 1110   0101 1100
Bit 0 zuerst:  16#54 'T'   16#..       16#..       16#3A
Bit 7 zuerst:  16#2A '*'   16#..       16#..       16#..

a) 4 Varianten in Dezimal
16#54....3A =  1.411.808.314 dezimal
16#3A....54 =              ? dezimal
16#2A...... =              ? dezimal
16#......2A =              ? dezimal

PS: korrigiert wg. Konzentrationsfehler ;)

Harald
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Bitfolge . .: . 0010 1010 . 0110 0100 . 0011 1110 . 0101 1100
Bit 0 zuerst: . 16#45 'E' . 16#.. . . . 16#.. . . . 16#A3
Bit 7 zuerst: . 16#A2 '*' . 16#.. . . . 16#.. . . . 16#..
Du hast tetradenweise die BitReihenfolge gespiegelt, Harald?

Aus 0010 1010 lese ich 16#2A bzw. '*' oder 16#54 bzw. 'T' . 0101 1100 ist für mich 16#5C oder 16#3A.
 
Zurück
Oben