Algorithmus zur Addition zweier Binärzahlen
-
Hallo zusammen,
seien a und b zwei Binärzahlen, mit a > b. Natürlich weiß ich, wie man binär addiert, doch habe ich hier einen Algorithmus, bei dem ich einen Schritt nicht nachvollziehen kann. Er fängt so an:
1.) Setze i=0 und c=0
2.) Setze t = a_{i} + b_{i} + c, s_{i} = t \mod B und
3.) Setze i = i+1. Falls i <= n-1, gehe zu 2B ist die Basis, also 2. n it die Bitlänge von B. Ich verstehe nicht, was genau der Ausdruck . Soll ich hier B durch t teilen oder was heißt das?
c ist mein Carry und das reicht doch schon.
Vielen Dank
LG, freakC++
-
In üblicher Notation würde ich doch eher annehmen, dass t/B heißt, dass du t durch B teilen sollst, nicht umgekehrt.
Oder kennst du die floor-Funktion nicht?
-
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