Binärzahlen untereinander rechnen, wenn ich bei einer Stelle 1+1+1+1+1+1 habe, wie viel Stellen nach vorne wird der Übertrag gesendet?

5 Antworten

Bei der Addition wird der Übertrag jeweils um eine Stelle nach links übertragen.

Man addiert
1+1=10 Übertrag der letzten Stelle
10+1=11
11+1=100 Übertrag der letzten und vorletzten Stelle
100+1=101
101+1=110 Übertrag der letzten Stelle

Wenn der Übertrag auf eine 1 trifft, dann wird das Feld =0 gesetzt und ein erneuter Übertrag nach links addiert, bis dort eine 0 vorgefunden wird, die dann die 1 "aufnehmen" kann, ohne einen weiteren Übertrag zu erzeugen.


Halbrecht  20.08.2022, 20:43

ich frage mich aber , wie man 11 + 11 + 11 in einem Rutsch machen kann

1+1+1 ist 1 , übertrag 1 , dann hat man 4 . Wie dann weiter ? ...........1001 sollte rauskommen

0
Glaskocher  20.08.2022, 20:55
@Halbrecht

Bei der Addition von Binärzahlen addiert man immerr nur Zahlenpaare. Man arbeitet diese Paare Ziffer für Ziffer von der Einerstelle (hinten) beginnend ab. Sobald der dabei (möglicherweise) erzeugte Übertrag vollständig im Ergebnis verarbeitet ist addiert man die nächste Ziffer. Um alsi 11+11+11 zu rechnen verarbeitet man zuerst 11+11 bis zum Resultat und addiert die letzte 11 dazu. Dadurch bekommt das Rechenwerk nie Überträge, die den Vorrat an verwendbaren Ziffern übersteigen. Es gibt nur die beiden Zustände "0" und "1". Somit sind Additionen von mehreren Zahlen in Binärcode, ohne dezimale Übertragsverwaltung, nicht möglich. Ansonsten bekäme man Überträge, die nicht im Binärcode einstellig darstellbar sind.

Das mag zwar für dezimal Denkende umständlich klingen, aber ist im Binärrechenwerk machbar, weil logisch.

0
Jangler13  20.08.2022, 21:47
@Halbrecht

Du könntest wie ein Carry save adder vorgehen, indem du zuerst zwei Zwischenergebnisse notierst:

1. Die Zahl die du erhälst, wenn du die Jeweiligen Bits der jeweiligen Stelle addierst, wobei du die Übertrage ignorierst (also ist dann 1+1+1=1, 1+1+0=0, 1+0+0=1, 0+0+0=0, also genauso als ob du in der Testklasse Mod 2 rechnen würdest)

2. Eine Zahl, die an der jeweiligen Stelle markiert, ob es dort zu einem Übertrag kommt oder nicht, wenn man die drei Ziffern der Stelle addiert. (Bei der Addition von 3 einstelligen Zahlen gibt es maximal einen Übertrag von 1)

Somit erhälst du bei 11+11+11 die beiden Zahlen:

11

Und:

11

(Jede Stelle resultiert zu einem Übertrag, und die Addition hat immer 1 als Ergebnis)

Die 2. Ziffer multiplizierst du nun mit 2 (also einfach ganz rechts eine 0 hinzufügen)

Und du addierst dann beide Zahlen (wie gewohnt):

011

110 +

= 1001

Das sollte glaube ich etwas schneller gehen als (11+11)+11, da du eben bei der ersten "Addition" im Grunde nur zahlen musst, wie oft Einsen vorkommen.

Etwas komplizierteres Beispiel:

Wir addieren die Zahlen

1111 (15)

1010 (10)

1100 (12)

Dabei resultieren die beiden Zahlen:

1101

1110 (das hier wird Mal 2 genommen)

Somit ist das Endergebnis:

01101

11100+

= 101001 (37)

1
Jangler13  20.08.2022, 21:56
@Jangler13

Btw:

Mit der Methode kann man dann auch 4 Zahlen addieren:

1. "Ergebnis" und Übertrag der Addition der ersten drei Zahlen bestimmen.

2. Übertrag verdoppeln (also 0 anhängen)

3. Das Ergebnis, den Verdoppelten Übertrag und die 4. Zahl mit der selben Art addieren, sodass Ergebnis2 und Übertrag2 rauskommen.

4. Übertrag2 verdoppeln

5. Ergebnis2 und Übertrag2 wie gewohnt addieren.

(Analog wenn man noch mehr zahlen addieren will)

Bei n (n>=3) brauchst du dann n-2 "vereinfachte" Additionen und eine "richtige" Addition, statt n-1 "richtige" Additionen, wenn du alles nacheinander addierst.

1

ich rechne in dezimal und wieder zurück

6x1=6

6 dez=110 bin


Kambotchs 
Fragesteller
 20.08.2022, 20:33

danke

0

Im Prozessor werden Additionen einzeln ausgeführt, sodass der Übertrag nie größer als 1 ist.

Wie Du das persönlich tust, spielt keine Rolle. Wenn Du das unbedingt so machen willst, ohne in ein handlicheres Zahlensystem zu verwandeln, rechnest Du
1+1+1+1+1+1=110 und machst den Übertrag an den zwei Stellen gleichzeitig, wo eine 1 steht.
Das würdest Du im Dezimalsystem auch tun, wenn der Übertrag größer als 9 ist.

Woher ich das weiß:Berufserfahrung – Traktorist mit Zertifikat von Bill Gates

2⁰+2⁰+2⁰+2⁰+2⁰+2⁰=6 (dezimal)

  • 6=3*2+0
  • 3=1*2+1
  • 1=0*2+1

1+1+1+1+1+1=110 (binär)

Falls die 1 im Stellenwertsytsem für eine andere Zweierpotenz als 2⁰ steht, dann geht es analog, zum Beispiel 2¹ oder 2³

2¹:

2¹+2¹+2¹+2¹+2¹+2¹=12 (dezimal)

  • 12=6*2+0
  • 6=3*2+0
  • 3=1*2+1
  • 1=0*2+1

1+1+1+1+1+1=1100 (binär)

2³:

2³+2³+2³+2³+2³+2³=48 (dezimal)

  • 48=24*2+0
  • 24=12*2+0
  • 12=6*2+0
  • 6=3*2+0
  • 3=1*2+1
  • 1=0*2+1

1+1+1+1+1+1=110000 (binär)

Ich hoffe, ich konnte helfen :)

Woher ich das weiß:Hobby – Mathematik (u. Physik)

2^3 > 6 > 2^2

Also ist es eine 3 Stellige Zahl mit einer 1 am Anfang

1..

6-2^2 = 2

Musst du nicht mal denken ist beim binärsystem eine 10

110