Binär Subtrahieren

Neue Frage »

Chaapei Auf diesen Beitrag antworten »
Binär Subtrahieren
Hi, Hilfe

wie kann man Binär Subtrahieren ? Also die Aufgabe :
code:
1:
2:
3:
4:
  0 1 0 1 1 0 0 1
- 0 0 0 1 1 1 1 1
__________________
-felix- Auf diesen Beitrag antworten »

sagt dir der begriff komplement etwas? wenn ja, dann bilde das komplement von 00011111 und addiere es zu 01011001.
Chaapei Auf diesen Beitrag antworten »

Also du meinst:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
  0 1 0 1 1 0 0 1
+               1
------------------------
  x x x x x x x x   



   0 0 0 1 1 1 1 1
+  x x x x x x x x 
------------------------ 
-felix- Auf diesen Beitrag antworten »

nein, das ganze sieht so aus: man bildet das komplement von 00011111. dazu sucht man sich von rechts her die erste 1, lässt diese stehen und geht dann nach links weiter, wobei man jede 1 in eine 0 und jede 0 in eine 1 umwandelt. also ist dieses 11100001. dieses addiert man dann zu 01011001. also
code:
1:
2:
3:
4:
 01011001
+11100001
-------------------------
 00111010
Teutone Auf diesen Beitrag antworten »

Also eigentlich brauch man hier das 1er und 2er Komlement nicht, macht man nur so, um es auf eine Addition zurückzuführen. Subtrahiert wird ganz einfach schriftlich mit den Rechenregeln:



Übertrag 1
mit Übertrag 1 Übertrag 1
Chaapei Auf diesen Beitrag antworten »

Wink mit deinen rechenregeln komme ich auf

0 1 0 0 0 0 1 0

und das ist wrong Big Laugh . Das komplement muss sein Tanzen

PS:
Mit den windows rechner wo man direkt Binärzahlen eingeben kann, kommt 0011 1010 raus.
 
 
Teutone Auf diesen Beitrag antworten »

Das Komplement muss nicht sein und mit "meinen" Rechenregeln kommt man auch aufs richtige Ergebnis, wie auch der Windowsrechner bestätigt.
Nochmal: du subtrahierst wie üblich eben mit 1 und 0, wobei 0-1=1 mit Übertrag 1 ist. Wenn dann in der nächsten Zeile schon nen Übertrag steht werden sie zunächst einfach binär addiert, wobei wieder nen Übertrag entstehen kann und dann wird die ensprechende subtraktion ausgeführt. Eigentlich auch logisch, schriftlich subtrahieren klappt in jedem zahlensystem!

code:
1:
2:
3:
4:
5:
6:
7:
  0  1  0  1  1  0  0  1
- 0  0  0  1  1  1  1  1
------------------------
     1  1  1  1  1       (Übertrag)
------------------------
  0  0  1  1  1  0  1  0
Chaapei Auf diesen Beitrag antworten »

ok , kann sein das ich falsch gerechnet habe ich schaus mir gleich nochmal an Kotzen
ilk Auf diesen Beitrag antworten »

Zitat:
Original von -felix-
nein, das ganze sieht so aus: man bildet das komplement von 00011111. dazu sucht man sich von rechts her die erste 1, lässt diese stehen und geht dann nach links weiter, wobei man jede 1 in eine 0 und jede 0 in eine 1 umwandelt. also ist dieses 11100001. dieses addiert man dann zu 01011001. also
code:
1:
2:
3:
4:
 01011001
+11100001
-------------------------
 00111010


das kann ja so nicht stimmen...
ich kann doch nach links beliebig viele 0-en dranhängen, aber darf dann am ende nicht mehr mit 1 addieren, sonst verfälsche ich das ergebnis...

edit:
es sei denn natürlich, du siehst das ding als ein byte an, und machst das so wie der rechner addiert...

allerdings kann man nicht so einfach mit dem komplement addieren und das ergebnis dann in ne dezimalzahl umwandeln, sondern das ergebnis auch als komplement betrachten
Chaapei Auf diesen Beitrag antworten »

ok, es klappt habs nochmal versucht.!

danke Wink
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »