Hexadezimale Zahl als Bit umrechnen?
Hi Leute, ich habe die Aufgabenstellung bekommen und weiß einfach nicht weiter. Wie rechne ich das um?
Die Hexadezimale Zahl 0xA1 hat dezimal den Wert als
a) 8-Bit unsigned:
b) 8-Bit signed (2-er Komplement):
c) 16-Bit signed (2-er Komplement):
d) 32-Bit signed (2-er Komplement):
1 Antwort
A1 = 1010 0001
- Das wäre als 8-bit unsigned dezimal 161 (aus 128+32+1).
- Das 8-bit-Zweierkomplement ist 01011111, die Zahl entspricht dezimal also -95.
- Das 16-bit-Zweierkomplement ist 11111111 01011111, die Zahl entspricht dezimal also -65375.
- Das 32-bit-Zweierkomplement ist 11111111 11111111 11111111 01011111, die Zahl entspricht dezimal also -4294967135.
Bei a) habe ich es ohnehin dazugeschrieben.
Und für b) bis d): Zweierkomplement bilden heißt: alle Bits invertieren und dann noch 1 addieren. Das Resultat kann man dann wie üblich ins Dezimalsystem umrechnen (also alle Stellenwerte, bei denen eine 1 steht, addieren).
Ich glaube ich habe es jetzt verstanden. Nochmal zur Kontrolle habe ich eine andere Zahl genommen. Würde das stimmen?
1D = 0001 1101
b)1110 0011
c) 11111111 11100011
d)11111111 11111111 11111111 11100011
Muss ich das eig. in die Dezimaldarstellung umwandeln?
Oh stimmt, habe ich übersehen. Viel Dank!
Hi, es ist super nett, dass du mir die Antwort gibst. Mir ist es jedoch wichtiger das Konzept der Umrechnung zu verstehen. Wie hast du das gemacht? A1 = 1010 0001 das habe ich verstanden.