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
Sonstiger Berufsstatus, Punkte: 505
Ich würde dir empfehlen deine Frage mit Absätzen und vllt. Stichpunkten sauberer zu formatieren.
─ lerneninverschie 13.03.2021 um 02:19