Hallo zusammen! Ich schreibe morgen eine Informatik-Arbeit und wir müssen das Prinzip eines Addierers in der Schaltalgebra (und z.B. mit Digital Simulator) verstehen und erklären können!
Danke für die Antworten!
Hallo zusammen! Ich schreibe morgen eine Informatik-Arbeit und wir müssen das Prinzip eines Addierers in der Schaltalgebra (und z.B. mit Digital Simulator) verstehen und erklären können!
Danke für die Antworten!
hi sarah,
das ist im Grunde nicht so schwer. Einen einfachen Addierer der zwei Zahlen der Länge n addiert setzt du im einfachen Fall einfach aus n Volladdieren zusammen.
Angenommen du hast zwei Zahlen A und B im Dualsystem und das Ergebis E.
Dann nimmst du von beiden Zahlen jeweils die erste Stelle (von rechts aus, also die Stelle mit der geringsten Wertigkeit). Jetzt addierst du die beiden Ziffern. Bei der Addition erhälst du einerseits das Summenbit und einen Übertrag (Carry). Das Summenbit schreibst du einfach an die erste Stelle von E, das Carry merkst du dir.
Dann gehst du weiter zur zweiten Stelle. Auch hier addiest du die beiden Ziffern von A und B. Zusätzlich addierst du noch das Carry Bit aus der vorherigen Addition dazu. Auch hier erhälst du wieder ein Summenbit und ein neues Carry Bit. Du schreibst dein Summen Bit an die zweite Stelle von E und merkst dir wieder das Carry. Das machst du bis du am Ende der Addition bist. Nachdem du alle Ziffern von A und B addiert hast schreibst du noch das Carry Bit aus der letzten Addition ganz vorne an E.
Einen Addierer der nach einem solchen Prinzip aufgebaut ist nennt man auch „Ripple Carry Adder“
Beispiel:
A = 101
B = 110
Addition
A0 = 1, B0 = 0 also E0 = A0 + B0 = 1 + 0 = 1
und C0 = 0, da es keinen Übetrag gab.
Addition
A1 = 0, B1 = 1 also E1 = 0 + 1 = 1
und C1 = 0
Addition
A2 = 1, B2 = 1 also A2 + B2 = 1 + 1 = 10
Das heißt E2 = 0 (rechtes Bit der Addition) und C2 = 1
Abschluss:
Das letzte Carry C2 = 1, daher setze E3 = 1
Insgesamt haben wir also 101 + 110 = 1011
Soviel zu Theorie. Wenn du jetzt Hardware bauen möchtest die zwei Zahlen A und B addiert, dann baust du für jede Ziffer 0…n-1 einen 1-Bit Volladdierer der wie oben beschrieben funktioniert und hängst diese hintereinander. Das Summenbit berechnet sich dann immer aus den Eingangsbits a, b und dem carry in c als s = a XOR b XOR c. Das carry out berechnet sich als ((a and b) or (a and c) or (b and c))
Hier ist auch nochmal erklärt wie ein Ripple Carry addierer funktioniert inkl. erklärender Zeichnung: http://www.iti.fh-flensburg.de/lang/algorithmen/arit…
Ich hoffe ich habe es einigermaßen verständlich ausgedrückt. Wenn du noch Fragen hast dann stell sie einfach.
cheers mo
Hallo Sarah,
tut mir leid, dass ich nicht helfen, kann, aber ich habe heute einfach keinE Zeit für eine Ausführliche Antwort.
Gruß
Miché
Hallo Sarah1996,
leider kann ich Dir bei dieser Frage nicht weiterhelfen. Diese theroretischen Dinge sind bei mir zu lange her.
Ich hoffe Du bekommst noch Antworten, die Dir weiterhelfen.
Viel Erfolg bei der Informatik-Arbeit.
Gruss Horst