Ein Pseudocode-Algorithmus für ganzzahlige Addition auf Basis der Binäroperation
Ich habe schon seit Ewigkeiten versucht, eine Lösung zu finden, aber ich kann einfach nicht den Kopf um ihn herum.
Es muss auf zwei Ganzzahlen auf der Verwendung von Standard-logischen Operationen basieren, die eine direkte Hardware-Implementierung haben UND ODER, XOR, NICHT
Es ist eine Anleitung für mich, mit meinem Projekt zu helfen, werde ich anfangen, wenn jemand es bitte erklären kann.
Ich möchte das in Bezug auf Python
2 Solutions collect form web for “Ein Pseudocode-Algorithmus für ganzzahlige Addition auf Basis der Binäroperation”
>>> add = lambda x, y: x if y == 0 else add(x^y, (x&y) << 1) >>> add(5, 6) 11
Die Grundkomponente ist ein voller Addierer . Es hat 3 Eingänge (ein bisschen von a
, ein bisschen von b
und tragen) und zwei Ausgänge (ein bisschen Summe und Trage). Seine Funktionalität ist
out = a ^ b ^ carry carry = a & b | (carry & (a^b))
Zuerst tragen Sie 0. Wenden Sie die Aussagen oben auf jedes Bit an, beginnend mit dem am wenigsten signifikanten.