Zweierkomplementrechnung < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
|
Aufgabe | 1. Betrachten Sie ein 12-Bit Zweierkomplementsystem.
a) Welche Dezimalzahlen werden in diesem System durch E91(16) und 2D1(16) repräsentiert?
b) Addieren Sie die beiden Zahlen im System (Rechenweg angeben!) und geben Sie das Ergebnis binär, dezimal und hexadezimal an. |
Ist dies nun eine Art Fangfrage? Habe nämlich die beiden Hex-Zahlen in Dezimalzahlen umgerechnet, was 3729 für E91 und 721 für 2D1 ergibt, addiere nun beide Zahlen was 4450 ergibt. Da es sich um ein Zweierkomplementsystem mit 12-Bit handelt können Zahlen von -2048 bis 2047 dargestellt werden. Ich kann ja nun die 4450 nicht darstellen, zumindest im Binärsystem nicht?! Denn dort erhalte ich beim umrechnen von Hex die Zahl 0001101100110010, die ja nun 16-Stellen hat.
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Hallo,
> Habe nämlich die beiden Hex-Zahlen in Dezimalzahlen umgerechnet, was 3729 für E91 und 721 für 2D1 ergibt
Beachte, dass die erste Zahl auch nicht mehr im darstellbaren Bereich liegt, also wohl negativ ist. Ausschlaggebend ist das erste Bit im Binärsystem! Deshalb solltest du dir die Binärdarstellung immer ansehen.
Bei der Addition hast du dann eine negativen (Zweierkomplement!) und eine positiven Summand.
Gruß
Martin
|
|
|
|
|
Hm, danke schon mal für deine Antwort. Ich steh leider auf dem Schlauch, und weiß nciht wie ich denn die E91 negativ darstellen soll, ich könnte jetzt invertieren aber dann passt die Zahl ja auch nicht mehr in die Range von -2048 bis 2047. Meine Antwort wäre daher, dass man die Zahlen einfach nicht addieren kann, weil die erste Zahl im Zweierkomplement einfach nciht darstellbar ist?! Kannst du mich da bitte aufklären? :? Falls es doch geht, wie mach ich das?
|
|
|
|
|
Hallo,
> weiß nciht wie ich denn die E91 negativ darstellen soll
Da musst du nichts mehr tun. Sie ist negativ, weil ihr 12. Bit gesetzt ist.
> Meine Antwort wäre daher, dass man die Zahlen einfach nicht addieren kann, weil die erste Zahl im Zweierkomplement einfach nciht darstellbar ist?!
Und das wäre falsch. Was ist denn das Zweierkomplement überhaupt? Wofür ist das gut? Na?
Wie würdest du denn in 12 Bit eine [mm] -1_{10} [/mm] darstellen, wie [mm] -10_{10}, [/mm] wie -100?
Wenn du das hinbekommst, dann kannst du es auch umgekehrt.
Tipp: Hexadezimal nach Binär geht ganz einfach, indem man jede Hex-Ziffer einzeln ins Binärsystem (ergibt je ein 4-Bit-Grüppchen, evtl. mit führenden Nullen) übersetzt und diese dann einfach hintereinanderhängt.
Gruß
Martin
|
|
|
|
|
Ok, ich habe sehr viel Denkzeit dafür gebraucht um es nun endlich zu kapieren. Du hättest mir ja direkt sagen können, dass die Zahlen die ich da berechnet hab falsch waren. Danke trotzdem ;)
|
|
|
|