Algorithmus zur Addition zweier Binärzahlen
-
freakC++ schrieb:
c ist mein Carry und das reicht doch schon.
nein, reicht nicht. Es kann ein neues Carry entstehen, das dann zur nächsten Stelle weitergericht werden muß.
Deshalb mit floor-Funktion (a+b+c)/2 abrunden - das ist 1 genau dann wenn a+b+c >= 2 ist (2 ist binär "10", d.h. Summenbit 0 und Carrybit 1)
-
ah, ok! Ich habs verstanden!
danke
-
Ich rechne immer so:
1010
+0110
-----
100001 + 1 = 1 Überschlag 0
0 + 1 = 1
1 + 0 = 0Bei den letzten beiden bin ich mir nicht ganz sicher, das Bsp. war gut gewählt.
-
Christoph-C++ schrieb:
Ich rechne immer so:
1010 +0110 ----- 10000
1 + 1 = 1 Überschlag 0
0 + 1 = 1
1 + 0 = 0Bei den letzten beiden bin ich mir nicht ganz sicher, das Bsp. war gut gewählt.
fixed that for you (nur Code-Tags um die erste Rechnung)
-
...
-
Wieso soll das Ergebnis denn nicht richtig sein? Also wenn ich seine Regeln durchgehe, komme ich genau auf das Ergebnis.
/ Stop
Argh. Jetzt seh ich warum die Regel nicht zu dem Ergebnis führen kann. - Der Überschlag dürfte nicht ganz stimmen, der im Beispiel aufgeführt ist.
-
Ich habe mein Ergebnis ausgerechnet und dann mit dem Taschenrechner nachgerechnet
-
Sorry, tut mir Leid, falsch geschrieben
1 + 1 = 0 Überschlag 1
-
...
-
Ist ja gut:
Hier
1 + 1 = 0 Überschlag 1
1 + 0 = 1
0 + 1 = 1
-
Das Wort heisst übrigens Übertrag. Überschlag ist ein anderes Wort für Schätzung.
-
Sry
-
ich habe das aus einem computerbuch