0 Daumen
319 Aufrufe

Aufgabe:

Speicheradresse+0 × 0+0 × 1+0 × 2+0 × 3+0 × 4+0 × 5+0 × 6+0 × 7
0 × 001000po1010100010001011100100111111
0 × 081101110000000000101110000110110001110110010100000111000101001010
0 × 101101110100001101000111101111000101011101101001000011000111011101
0 × 180101000100111101110010110110000011010111001100101111101100101110

Im folgenden sollen Speicherzugriffe mit liitle endian und big endian Belegung ausgewertet werden. Nehmen Sie für alle Zugriffe an, dass die Zahlen vorzeichenlos interpretiert werden. Geben Sie für alle Zugriffe das Ergebnis als Dezimalzahl an.

Zugrifflittle endian Ergebnisbig endian Ergebnis
16-Bit Zahl an
0x8
8-Bit Zahl an
0x8
16-Bit Zahl an
0xa
8-Bit Zahl an
0xa
Avatar von

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Speicheradressen Little endian

Um die Aufgabe zu lösen, müssen wir die Speicherzugriffe sowohl im Little-Endian- als auch im Big-Endian-Format analysieren. Little-Endian-Formate speichern die niedrigwertigsten Bytes an der niedrigsten Adresse, während Big-Endian-Formate die höchstwertigen Bytes an der niedrigsten Adresse speichern.

Tabelle zur Konvertierung

Speicherinhalt

| Speicheradresse | +0 × 0 | +0 × 1 | +0 × 2 | +0 × 3 | +0 × 4 | +0 × 5 | +0 × 6 | +0 × 7 |
|-----------------|--------------|--------------|--------------|--------------|-----------|-----------|----------|--------------|
| 0 × 00 | 0b00010000 | 0b00000000 | po | 0b00010000 | 0b10100010| 0b00000001| 0b0100011| 0b00111111 |
| 0 × 08 | 0b11011100 | 0b00000000 | 0b10111000 | 0b01101100 | 0b01110110| 0b01010000| 0b01110001| 0b01001010 |
| 0 × 10 | 0b11011101 | 0b00001101 | 0b00011110 | 0b11110001 | 0b01011101| 0b10100100| 0b00110001| 0b11011101 |
| 0 × 18 | 0b01010001 | 0b00111101 | 0b11001011 | 0b01100000 | 0b11010111| 0b00110010| 0b11111011| 0b00101110 |


Speicherzugriffe

#16-Bit Zahl an 0x8

- Little Endian: In Little-Endian wird die niedrigere Adresse zuerst gelesen.
- Bytes: 0b00000000 (an 0x8) und 0b11011100 (an 0x9)
- Zusammengesetztes Wort: 0b0000000011011100
- Dezimalwert: \(2^8 \cdot 111 + 220 = 220\)

- Big Endian: In Big-Endian wird die höhere Adresse zuerst gelesen.
- Bytes: Identisch aber unterschiedliche Anordnung.
- Zusammengesetztes Wort: 0b1101110000000000
- Dezimalwert: \(2^13 \cdot 7 + 2^8 \cdot 1 + 220 = 40960\)

#8-Bit Zahl an 0x8

- Little Endian: Nur ein einzelnes Byte, daher:
- Byte: 0b11011100
- Dezimalwert: 220

- Big Endian: Identisch zu Little-Endian.
- Dezimalwert: 220

#16-Bit Zahl an 0xa

- Little Endian:
- Bytes: 0b10111000 (an 0xa) und 0b01101100 (an 0xb)
- Zusammengesetztes Wort: 0b0110110010111000
- Dezimalwert: \(2^8 \cdot 108 + 64 = 27768\)

- Big Endian:
- Bytes: Identisch aber unterschiedliche Anordnung.
- Zusammengesetztes Wort: 0b1011100001101100
- Dezimalwert: \(2^10 \cdot 6 + 220 + 48 = 47240\)

#8-Bit Zahl an 0xa

- Little Endian:
- Byte: 0b10111000
- Dezimalwert: 184

- Big Endian: Identisch zu Little-Endian.
- Dezimalwert: 184

Ergebnisse

Zuordnung und Zusammenführung der Ergebnistabelle:

| Zugriff | Little Endian Ergebnis | Big Endian Ergebnis |
|-------------------------------|------------------------|---------------------|
| 16-Bit Zahl an 0x8 | 220 | 56576 |
| 8-Bit Zahl an 0x8 | 220 | 220 |
| 16-Bit Zahl an 0xa | 27768 | 47240 |
| 8-Bit Zahl an 0xa | 184 | 184 |

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community