Subtraktion Zweierkomplement < Sonstige < Schule < Informatik < Vorhilfe
|
Aufgabe | Subtrahieren Sie schriftlich folgende vorzeichenlosen Dezimalzahlen dual mit Zweierkomplement
a) [mm] (3)_{10}-(5)_{10}
[/mm]
b) [mm] (8)_{10}-(7)_{10} [/mm] |
Hallo,
ich habe hierzu eine Verständnisfrage, sie steht an entsprechender Stelle:
a)
Ich wandle zuerst die Dezimalzahlen in Dualzahlen um. Die gleiche Subtraktion lautet in Dualschreibweise:
[mm] (011)_{2}-(101)_{2}
[/mm]
Nun subtrahiert man, indem man das Zweierkomplement der negativen Zahl addiert, sprich ich bilde zuerst das Zweierkomplement von [mm] (5)_{10} [/mm] bzw. [mm] (101)_{2}:
[/mm]
Dies lautet nach invertieren und addieren von 1: [mm] (011)_{2}
[/mm]
Nun führe ich die Addition von [mm] (3)_{10} [/mm] und dem Zweierkomplement von [mm] (5)_{10} [/mm] durch:
[mm] (011)_{2}+(011)_{2}=(110)_{2}
[/mm]
[mm] (110)_{2} [/mm] entspricht ... [mm] (6)_{10} [/mm] ?! Kann das stimmen?
b)
Eine ähnliche Aufgabe: die Subtraktion von [mm] (8)_{10}-(7)_{10}. [/mm] Verfahre ich nach obigem Schema erhalte ich:
[mm] (8)_{10}\hat= (1000)_{2}
[/mm]
[mm] (7)_{10}\hat= (111)_{2}
[/mm]
Da die 8 vier Binärstellen hat, passe ich die 7 entsprechend an: [mm] (0111)_{2}.
[/mm]
ZK von [mm] (7)_{10}\hat= (1001)_{2}
[/mm]
Rechnung: [mm] (1000)_{2}+(1001)_{2}=(10001)_{2}
[/mm]
[mm] (10001)_{2} [/mm] entspricht: [mm] (17)_{10}, [/mm] da ich aber das höchste Bit wegfallen lasse, passt das Ergebnis wieder.
Warum lasse ich hier das höchste Bit wegfallen? Ich soll das Ergebnis ja nicht explizit in einem Bit-Raum betrachten, oder ist mir der Bit-Raum durch die höchste Anzahl an Binärstellen vorgegeben? Oder muss ich die Dezimalzahlen betrachten und schauen, in welchen Bitraum sie gerade noch darstellbar sind?
Gruß, Andreas
|
|
|
|
Hallo Andi,
> a)
>
> Ich wandle zuerst die Dezimalzahlen in Dualzahlen um. Die
> gleiche Subtraktion lautet in Dualschreibweise:
>
> [mm](011)_{2}-(101)_{2}[/mm]
>
> Nun subtrahiert man, indem man das Zweierkomplement der
> negativen Zahl addiert, sprich ich bilde zuerst das
> Zweierkomplement von [mm](5)_{10}[/mm] bzw. [mm](101)_{2}:[/mm]
> Dies lautet nach invertieren und addieren von 1: [mm](011)_{2}[/mm]
>
Genau hier beginnt dein Denkfehler, denn du kannst diese Zahlen mit 3-Bits nicht subtrahieren, da dein separates Vorzeichenbit bereits 1-Bit veranschlagt und [mm] $5_{10} [/mm] = [mm] 101_2$ [/mm] ist und du daher das dritte Bit bereits brauchst. Deswegen musst du auf (mindestens) 4-Bits ausweichen und dann ist [mm] $\overline{5} [/mm] = 1010$, bzw. [mm] $-5_{10} [/mm] = 1011$.
Jetzt kommst du bestimmt auf die passende Lösung.
> Nun führe ich die Addition von [mm](3)_{10}[/mm] und dem
> Zweierkomplement von [mm](5)_{10}[/mm] durch:
>
> [mm](011)_{2}+(011)_{2}=(110)_{2}[/mm]
>
> [mm](110)_{2}[/mm] entspricht ... [mm](6)_{10}[/mm] ?! Kann das stimmen?
>
>
> b)
>
> Eine ähnliche Aufgabe: die Subtraktion von
> [mm](8)_{10}-(7)_{10}.[/mm] Verfahre ich nach obigem Schema erhalte
> ich:
>
> [mm](8)_{10}\hat= (1000)_{2}[/mm]
> [mm](7)_{10}\hat= (111)_{2}[/mm]
>
> Da die 8 vier Binärstellen hat, passe ich die 7
> entsprechend an: [mm](0111)_{2}.[/mm]
>
Bis hierhin hast du alles korrekt berechnet.
> ZK von [mm](7)_{10}\hat= (1001)_{2}[/mm]
>
Hier beginnt aber wieder der gleiche Fehler wie oben, da du bei $8$ 4-Bit brauchst, musst du mit min. 5-Bits im Zweierkomplement arbeiten, da du ein seperates Vorzeichenbit brauchst. Ergo ist [mm] $\overline{7}=11000$ [/mm] und somit [mm] $-7_{10} [/mm] = 11001$.
> Rechnung: [mm](1000)_{2}+(1001)_{2}=(10001)_{2}[/mm]
>
> [mm](10001)_{2}[/mm] entspricht: [mm](17)_{10},[/mm] da ich aber das höchste
> Bit wegfallen lasse, passt das Ergebnis wieder.
>
> Warum lasse ich hier das höchste Bit wegfallen? Ich soll
> das Ergebnis ja nicht explizit in einem Bit-Raum
> betrachten, oder ist mir der Bit-Raum durch die höchste
> Anzahl an Binärstellen vorgegeben? Oder muss ich die
> Dezimalzahlen betrachten und schauen, in welchen Bitraum
> sie gerade noch darstellbar sind?
>
So wie du selbst schon sagst, lässt du bzw. der Rechner das höchste Bit wegfallen, wenn du mit einer vordefinierten Anzahl von Bits arbeitest z.B. wenn du dir die zweite Rechnung mit meinen Tipps anguckst merkst du, dass du an der letzten Stelle einen Übertrag (carry bit) erhälst, aber zum Glück keinen Überlauf (siehe: http://de.wikipedia.org/wiki/Arithmetischer_%C3%9Cberlauf). Wenn man jedoch mit dem Zweierkomplement arbeitet, muss man sich die Anzahl von Bits vordefinieren.
>
> Gruß, Andreas
>
Grüße
Joe
|
|
|
|
|
Hallo,
also ich rechne es mal vor, ich tu mir damit nämlich nicht einfach:
gegebene Aufgabe: [mm] (3)_{10}-(5)_{10}
[/mm]
1. Schritt: Ich rechne um von Dezimal nach Dual
[mm] (3)_{10} \hat= (11)_{2}
[/mm]
[mm] (5)_{10} \hat= (101)_{2}
[/mm]
2. Schritt: Ich gucke ob das höchste Bit in einer der Dualzahlen gesetzt ist, also gebraucht wird. Das ist der Fall, also erweitere ich jeweils auf 4-Bits.
[mm] (3)_{10} \hat= (0011)_{2}
[/mm]
[mm] (5)_{10} \hat= (0101)_{2}
[/mm]
3. Zweierkomplement von [mm] (0101)_{2} [/mm] bilden:
ergibt: [mm] (1011)_{2}
[/mm]
4. Schritt: Subtraktion durch Addition des Zweierkomplements:
[mm] (0011)_{2}+(1011)_{2}=(1110)_{2}
[/mm]
Das VZ-Bit entfällt nun, und das Ergebnis ist: [mm] (110)_{2}. [/mm] Dies entspricht [mm] ....(6)_{10} [/mm] !? Das stimmt doch nicht!
Muss da nicht -2 herauskommen, bzw. 2 mit einem gesetzten VZ-Bit?
Gruß, Andreas
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 22:02 Mi 26.06.2013 | Autor: | chrisno |
> Das VZ-Bit entfällt nun,
????
Dann braucht man es nie.
|
|
|
|
|
EDIT: siehe meinen letzten Post, er schließt dies hier mit ein.
Ich versteh nur noch Bahnhof!
Selbst wenn ich es stehen lasse: [mm] (1110)_{2} [/mm] entspricht [mm] (14)_{10}. [/mm] Muss nicht das rauskommen, was ich auch bei einer "dezimalen Rechnung" erhalte, sprich 3-5=-2 ?
Ich bin bei den Dezimalzahlen 3 und 5 doch im 3-Bit-Raum oder nicht? Ich dachte, dann fällt beim Ergebnis das weg, was nicht mehr dort reinpasst, also hier das 4. Bit !?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:21 Do 27.06.2013 | Autor: | chrisno |
Ja natürlich ist das Ergebnis unabhängig von der Darstellung.
|
|
|
|
|
Hallo Andreas,
> Hallo,
>
> 1. Schritt: Ich rechne um von Dezimal nach Dual
>
> [mm](3)_{10} \hat= (11)_{2}[/mm]
>
> [mm](5)_{10} \hat= (101)_{2}[/mm]
>
>
> 2. Schritt: Ich gucke ob das höchste Bit in einer der
> Dualzahlen gesetzt ist, also gebraucht wird. Das ist der
> Fall, also erweitere ich jeweils auf 4-Bits.
>
> [mm](3)_{10} \hat= (0011)_{2}[/mm]
>
> [mm](5)_{10} \hat= (0101)_{2}[/mm]
>
> 3. Zweierkomplement von [mm](0101)_{2}[/mm] bilden:
>
> ergibt: [mm](1011)_{2}[/mm]
>
> 4. Schritt: Subtraktion durch Addition des
> Zweierkomplements:
>
> [mm](0011)_{2}+(1011)_{2}=(1110)_{2}[/mm]
>
> Das VZ-Bit entfällt nun, und das Ergebnis ist: [mm](110)_{2}.[/mm]
> Dies entspricht [mm]....(6)_{10}[/mm] !? Das stimmt doch nicht!
>
> Muss da nicht -2 herauskommen, bzw. 2 mit einem gesetzten
> VZ-Bit?
>
Verstehst du was mit dem VZ-Bit gemeint wird? Die Zahl [mm] $1110_2 [/mm] = 1 [mm] \cdot -2^3 [/mm] + 1 [mm] \cdot 2^2 [/mm] + 1 [mm] \cdot 2^1 [/mm] = -2$, dein gesuchtes Ergebnis. Du darfst das VZ-Bit nicht einfach weglassen, sonst ist dein Ergebnis falsch, außer es ist schlicht und ergreifend von Anfang an unnötig (das ist es aber nur bei einfacher Addition).
>
> Gruß, Andreas
>
>
Grüße
Joe
>
>
|
|
|
|
|
[mm] 1110_{2} [/mm] = [mm] 1*-2^{3} [/mm] +...
Das wusste ich nicht, dass die erste Stelle negativ zählt. Also ich weiß schon, dass das gesetzt VZ-Bit negativ aussagt, aber diese Form der Rechnung sehe ich zum ersten Mal. Das gilt aber nicht allgemein für die Dual-Dezimal-Umrechnung, dass ich die erste Dualstelle negativ rechne oder?
Der Windows-Taschenrechner zeigt mir Dezimalwert 14 an, wenn ich ihm die Binärziffern gebe und auch bei Umrechnungsaufgaben, habe ich immer mit positiven 2er-Potenzen gerechnet.
Macht man das nur hier im Kontext des Zweierkomplements?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 10:23 Do 27.06.2013 | Autor: | chrisno |
> [mm]1110_{2}[/mm] = [mm]1*-2^{3}[/mm] +...
>
> Das wusste ich nicht, dass die erste Stelle negativ zählt.
> Also ich weiß schon, dass das gesetzt VZ-Bit negativ
> aussagt, aber diese Form der Rechnung sehe ich zum ersten
> Mal. Das gilt aber nicht allgemein für die
> Dual-Dezimal-Umrechnung, dass ich die erste Dualstelle
> negativ rechne oder?
>
> Der Windows-Taschenrechner zeigt mir Dezimalwert 14 an,
> wenn ich ihm die Binärziffern gebe und auch bei
> Umrechnungsaufgaben, habe ich immer mit positiven
> 2er-Potenzen gerechnet.
>
> Macht man das nur hier im Kontext des Zweierkomplements?
>
m Wesentlichen ja. schau mal in Wikipedia: Zweierkomplement
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 13:39 Do 27.06.2013 | Autor: | Mathe-Andi |
Hallo,
jetzt hab ich es verstanden. Warum man den Bitraum für das VZ-Bit erweitert und wie anschließend die Umrechnung nach Dezimal funktioniert.
Ich dachte anfangs Zweierkomplement sei nur "invertieren" und "+1", aber dahinter steckt wohl mehr.
Danke an Euch alle!
Gruß, Andreas
|
|
|
|
|
Eine Frage habe ich noch, sie passt gut hier rein.
Was ist, wenn mir ein Zahlenraum vorgegeben ist?
"Subtrahieren Sie schriftlich folgende Dezimalzahlen, dual mit Zweierkomplement im angegebenen Zahlenraum"
Dort steht dann z.B. die bekannte Aufgabe
[mm] (8)_{10}-(7)_{10} [/mm] (4 Bit-Raum)
Ich darf ja dann nicht in den 5 Bit-Raum gehen, wenn das höchstwertigste Bit gesetzt ist, um "Platz für das VZ-Bit" zu machen.
Oder rechne ich das wie bisher auch, sage aber zum Schluss, alles was über 4-Bit hinausgeht, wird weggeschnitten?
Gruß, Andreas
|
|
|
|
|
Hallo Andreas,
> Was ist, wenn mir ein Zahlenraum vorgegeben ist?
>
> "Subtrahieren Sie schriftlich folgende Dezimalzahlen, dual
> mit Zweierkomplement im angegebenen Zahlenraum"
>
> Dort steht dann z.B. die bekannte Aufgabe
>
> [mm](8)_{10}-(7)_{10}[/mm] (4 Bit-Raum)
>
> Ich darf ja dann nicht in den 5 Bit-Raum gehen, wenn das
> höchstwertigste Bit gesetzt ist, um "Platz für das
> VZ-Bit" zu machen.
>
> Oder rechne ich das wie bisher auch, sage aber zum Schluss,
> alles was über 4-Bit hinausgeht, wird weggeschnitten?
>
Im 4-Bit-Raum kannst du deine Subtraktion nicht durchführen, da du ein zusätzliches Bit für die Zweierkomplementdarstellung brauchst. Du kannst also nicht deine Rechnung durchführen und dann den "überflüssigen Rest" wegschneiden. Natürlich könnte man argumentieren, dass man für die Darstellung des Ergebnisses [mm] $0001_2$ [/mm] keine 4-Bit braucht, dennoch wird zur Berechnung der $-7$ ansonsten (sprich ohne fünftes Bit) Unsinn herauskommen, nämlich $-7 = 1001 = [mm] 9_2$. [/mm]
Deine Zweierkomplementdarstellung im $n$-Bit-Raum geht nämlich im Allgemeinen von [mm] $-2^{n-1},\dots,0,\dots,2^{n-1}-1$ [/mm] (bei 4-Bit also von -8 bis 7 und nicht 8(!)) und die "normale" Darstellung von [mm] $0,\dots,2^n-1$, [/mm] darauf solltest du achten bei der Wahl der passenden Anzahl von Bits.
Grüße
Joe
>
> Gruß, Andreas
>
>
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:13 Do 27.06.2013 | Autor: | Mathe-Andi |
Ok, super. Dann weiß ich Bescheid.
Vielen Dank!
Lieben Gruß, Andreas
|
|
|
|