Binärzahlen im Zweier-Komplement addieren |
21.11.2012, 18:35 | Auf diesen Beitrag antworten » |
Ingo | Binärzahlen im Zweier-Komplement addieren Guten Abend. Was passiert wenn ich zwei 4-bit Zweier-Komplement Binärzahlen miteinander addiere, aber das Ergebnis größer als 4bit wird. Also z.B.: 0101 + 1100 Wäre doch 10001 Das kann aber doch nicht sein? |
|
|
21.11.2012, 19:00 | Auf diesen Beitrag antworten » |
Karlito | Hallo, doch, das ist korrekt. In dem Fall wird das forderste Bit verworfen. Beim Zweierkomplement muss man beachten wie sich der Übertrag fortpflanzt. S. http://de.wikipedia.org/wiki/Arithmetischer_%C3%9Cberlauf VG, Karlito |
21.11.2012, 19:11 | Auf diesen Beitrag antworten » |
Ingo | Hallo Karlito Danke für deine Hilfe, eine Sache verstehe ich da nicht: de.wikipedia.org/wiki/Arithmetischer_%C3%9Cberlauf#4_Bit_im_Zweierkomplemen t Da sind 3 Beispiele: Aber ich verstehe das noch immer nicht ganz. Können wir die einzelnen Beispiele durchgehen? 1.Beispiel: 5+5 wäre 10, aber als Ergebnis kommt -6 raus. Wie kann das sein? Ich weiß, dass wenn man die ausgeklammerte 0 noch in Betracht zieht, dann wäre es 10. Aber woher soll ich wissen, wann ich eine 0 davor schreiben soll und wann nicht? |
21.11.2012, 19:36 | Auf diesen Beitrag antworten » |
Karlito | Hallo, ich glaube mich zu erinnern, dass Ein tatsächlicher Wertebereichsüberlauf immer dann eintritt, wenn sich das forderste Bit (das erste von links) und der vorherige Übertrag unterscheided. Bei 5+5 = -6 Handelt es sich um einen Überlauf (da nur Zahlen von -8 bis 7 Darstellbar sind) Bei -5 - 5 = 6 ebenso Beim letzen Beispiel unterschreiden sich das erste Bit und das vorherige Übertragsbit nicht -> kein Überlauf... VG, Karlito |
Anzeige | |
|
|
21.11.2012, 19:52 | Auf diesen Beitrag antworten » |
Ingo | Und was müsste ich dann als Lösung aufschreiben? Also bei 5+5: 01010 oder 1010 Das zweite wäre ja falsch, aber ich kann ja auch nicht ein bit herzaubern? Oder darf ich das? Hängt das von der Aufgabenstellung ab? Danke |
21.11.2012, 20:17 | Auf diesen Beitrag antworten » |
Karlito | Hallo, du betrachtest doch nur 4 Bit zahlen. Also ist auch die Lösung 1010. Auf echter Hardware werden dann noch Flags gesetzt, welche anzeigen, welche Überläufe aufgetreten sind. So gibt es das Carry-Flag (CF), welches einfach anzeigt, ob es einen Übertrag auf das 5. Bit gibt und Overflow (OF), welches angibt, ob es eine Wertebereichsüberschreitung gab. http://de.wikipedia.org/wiki/%C3%9Cberlaufbit VG, Karlito |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |
|