0

Hallo,

Meine Frage: Wie addiert man negative Zahlen bei Vorzeichen/Betrag? Ich habe hier auch die Lösung. Leider, wenn ich selbst rechne, komme ich auf etwas anderes, das nicht in der Lösung steht. Was mache ich denn falsch? Beim Zweier-Komplett ist das Addieren leicht. Beim Einer-Komplement geht das genauso wie beim Zweier-Komplement+1. Wie soll das denn bei dem letzten gehen? Hää?? Außerdem: Was ist ein "wraparround"? Was ist mit "großer Betrag - kleiner Betrag in binär, Vorzeichen bei Subtraktion berücksichtigen! Vorzeichen von großem Betrag." gemeint? Hilfe

Lg, Kajam

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Diese Frage melden
gefragt

Student, Punkte: 14

 

Ich würde dir empfehlen deine Frage mit Absätzen und vllt. Stichpunkten sauberer zu formatieren.

  ─   lerneninverschie 13.03.2021 um 02:19
Kommentar schreiben
1 Antwort
1

Hallo Kajam, ich versuch mal ein bisschen Licht ins Dunkel zu bringen. Ich bin nicht sicher, ob dir das mit dem Einerkomplement vollkommen klar ist. Beim Einerkomplement werden zum Negieren, also xxx*(-1), alle Bits negiert. Aus 0011 0101 (53) wird beispielsweise 1100 1010 (-53). Das ist für Computer einfach zu bewerkstelligen. Dann wird addiert und (fast) fertig ist die Subtraktion. Diese Regel konsequent angewendet ergibt bei 8 Bit einen Zahlenvorrat von -127(!) bis +127. Die 0 ist doppelt! Es gibt ja 0000 0000 und die Negation 1111 1111, eigentlich -0. Daraus ergibt sich die Konsequenz, dass bei einem Überlauf (oder Unterlauf) die 0 doppelt auftaucht. 2-3 wäre ja dann 0000 0010 -1 = 0000 0001 -1 = 0000 0000 -1 = 1111 1111. Also einer zu wenig. 2-3 ist bekanntlich -1, somit die 1 negiert, also 1111 1110. Deshalb musst Du immer wenn du an der 0 vorbeikommst noch einen addieren, bzw. subtrahieren. Bei der Aufgabe machst Du das einfach Schritt für Schritt. 42 +(– 9) ist: 0010 1010 + 1111 0110 = 0010 0000 UND einen wraparround (Überlauf). Den addierst Du jetzt noch drauf. Das gibt dann 0010 0001 = 33 was ja passt. 42-9 = 33. Jetzt 0010 0001 + 1101 1001 = 1111 1010. Hier gibt es keinen Überlauf, somit nichts zu beachten. Fertig.

Beim Zweierkomplement hat man die doppelte 0 rausgeworfen. Damit wird dann auf die Negation noch +1 addiert dann passt es. 0000 0101 = 5 -> -5 = 1111 1010 +1 = 1111 1011. Das ist jetzt das Zweierkomplement. So hast Du bei 8 Bit -128 bis +127 als Zahlenvorrat.

Bei Vorzeichen / Betrag bin ich auch nicht genau dahinter gestiegen. Da habe ich mich mal an die Hinweise von c) gehalten. Ich habe angefangen mit 42 – 9. Vorzeichen ignoriert gibt das 010 1010 – 000 1001 = 010 0001. Das ist richtigerweise 33. Nun habe ich 38 – 33 gerechnet. 010 0110 – 010 0001 = 000 0101 ist 5. Weil ich aber -38 habe hole ich mir das Vorzeichenbit noch dazu. Das gibt dann 1 – 0 = 1. Zusammengesetzt also (1)000 0101. Ist mit Vorzeichenbit -5. Obs passt…. Gruß jobe

Diese Antwort melden
geantwortet

Sonstiger Berufsstatus, Punkte: 505

 

Kommentar schreiben