In Mathematik und Informatik ist die Komplementierungsmethode eine Technik, die dazu verwendet wird subtrahieren Sie eine Zahl von einer anderen, indem Sie nur positive Zahlen hinzufügen. Diese Methode wurde häufig in mechanischen Rechnern verwendet und wird auch heute noch in modernen Computern eingesetzt. Das verallgemeinerte Konzept des -Radix-Komplementes (wie nachstehend beschrieben) ist auch in der Zahlentheorie von Nutzen, wie beispielsweise im Midy-Theorem.
Das Neuner-Komplement einer Zahl wird gebildet, indem jede Ziffer durch neun minus diese Ziffer ersetzt wird. Um eine Dezimalzahl y (der Subtrahend) von einer anderen Zahl x (das Minuend) abzuziehen, können zwei Methoden verwendet werden:
In der ersten Methode wird das Neuner-Komplement von x zu y hinzugefügt. Dann wird das Neuner-Komplement des erhaltenen Ergebnisses gebildet, um das gewünschte Ergebnis zu erzielen.
In der zweiten Methode wird das Neunenkomplement von y zu x addiert und eins wird zur Summe addiert. Die führende Ziffer '1' des Ergebnisses wird dann verworfen. Das Verwerfen der anfänglichen '1' ist besonders praktisch bei Rechnern oder Computern, die eine feste Anzahl von Ziffern verwenden: Es gibt keinen Ort, an den sie gehen kann, so dass sie während der Berechnung einfach verloren geht. Die Ergänzung der Neunen plus eine ist die Ergänzung der Zehn .
Die Methode der Komplemente kann auf andere Zahlenbasen (Radices) erweitert werden; Sie wird insbesondere in den meisten Digitalcomputern verwendet, um eine Subtraktion durchzuführen, negative Zahlen in Basis 2 oder binäre Arithmetik darzustellen sowie einen Unter- und Überlauf des Tests in der Berechnung. [1]
Numerische Ergänzungen [ edit ]
Das -Radix-Komplement einer n stelligen Nummer und in Radix b ist definitionsgemäß . Das Radix-Komplement wird am einfachsten durch Addition von 1 zu dem verminderten Radix-Komplement erhalten, das heißt . Seit ist die Ziffer wiederholt n weil ; siehe auch (Geometric series Formula), das verminderte Radix-Komplement einer Zahl wird gefunden, indem jede Ziffer in Bezug auf (das heißt, jede Ziffer in und wird von ).
Die Subtraktion von y von x kann wie folgt durchgeführt werden. Addiert man das verminderte Radix-Komplement von x bis y so erhält man den Wert oder
In dem dezimalen Nummerierungssystem wird das Radix-Komplement als -Zehnkomplement und das reduzierte Radix-Komplement als Komplement bezeichnet. In binär wird das Radix-Komplement als -Zwei-Komplement und das reduzierte Radix-Komplement als Komplement bezeichnet. Die Benennung von Ergänzungen in anderen Basen ist ähnlich. Einige Leute, insbesondere Donald Knuth empfehlen die Verwendung des Apostroph, um zwischen dem Radix-Komplement und dem verminderten Radix-Komplement zu unterscheiden. In dieser Verwendung bezieht sich das Komplement von 1945 auf das Radix-Komplement einer Zahl in Basis vier, während das Komplement von vier Komplimenten das verminderte Radix-Komplement einer Nummer in Basis 5 ist ist nicht wichtig, wenn der Radix offensichtlich ist (fast immer) und der subtile Unterschied in der Platzierung von Apostrophien nicht üblich ist. Die meisten Autoren verwenden Einsen und Neunergänzungen und viele Stilhandbücher lassen den Apostroph weg, wobei Einsen und Neunergänzungen empfohlen werden.
Dezimalbeispiel [ edit ]
Ziffer | Neunens Ergänzung |
---|---|
0 | 9 |
1 | 8 |
2 | 7 |
3 | 6 |
4 | 5 |
5 | 4 |
6 | 3 |
7 | 2 |
8 | 1 |
9 | 0 |
Das Neuner-Komplement einer Dezimalziffer ist die Zahl, die hinzugefügt werden muss, um 9 zu erzeugen; das Komplement von 3 ist 6, das Komplement von 7 ist 2 und so weiter, siehe Tabelle. Um das Neunenkomplement aus einer größeren Zahl zu bilden, wird jede Ziffer durch das Neunenkomplement ersetzt.
Betrachten Sie das folgende Subtraktionsproblem:
873 (x, das Minuend) - 218 (y, der Subtrahend)
Erste Methode [ edit ]
Wir berechnen das Neunenkomplement des Minuends 873. Addieren Sie dieses zu dem Subtrahend 218 und berechnen Sie dann das Neunenkomplement des Ergebnisses.
126 (Neuner-Komplement von x) + 218 (y, der Subtrahend)
=
344
Berechnen Sie nun das Neunenkomplement des Ergebnisses
344 (Ergebnis) 655 (Neunergänzung des Ergebnisses, die richtige Antwort)
Zweite Methode [ edit ]
Wir berechnen das Neun'sche Komplement von 218, das ist 781. Da 218 drei Ziffern lang ist, entspricht dies dem Abzug von 218 von 999.
Als nächstes wird die Summe von x und der Ergänzung der Neuner von y genommen:
873 (x) + 781 (Neuner-Komplement von y = 999-y)
=
1654 (999 + x-y)
Die führende "1" -Ziffer wird dann gelöscht und ergibt 654.
1654 -1000 - (999 + 1)
=
654 (x-y-1)
Dies ist noch nicht korrekt. Im ersten Schritt haben wir der Gleichung im Wesentlichen 999 hinzugefügt. Dann haben wir 1000 entfernt, als wir die führende 1 im Ergebnis 1654 verloren haben. Dies ergibt somit die Antwort, die wir erhalten (654), weniger als die richtige Antwort . Um dies zu beheben, müssen wir unserer Antwort 1 hinzufügen:
654 +1
=
655 (x-y)
Das Hinzufügen einer 1 ergibt 655, die richtige Antwort auf unser ursprüngliches Abzugsproblem.
Anzahl der Zahlen [ edit ]
Im folgenden Beispiel hat das Ergebnis der Subtraktion weniger Ziffern als x :
123410 (x, das Minuend) - 123401 (y, der Subtrahend)
Nach der ersten Methode wird die Summe der Neuner-Komplemente von x und y angegeben
876589 (Neuner-Komplement von x) + 123401 (y)
=
999990
Das Neuner-Komplement von 999990 ist 000009. Das Entfernen der führenden Nullen ergibt 9 das gewünschte Ergebnis.
Wenn der Subtrahend y weniger Ziffern hat als der Minuend x müssen bei der zweiten Methode führende Nullen hinzugefügt werden. Diese Nullen werden zu führenden Neunen, wenn das Komplement genommen wird. Zum Beispiel:
48032 (x) - 391 (y)
kann umgeschrieben werden
48032 (x) - 00391 (y mit führenden Nullen)
Durch Ersetzen von 00391 mit dem Neuner-Komplement und Hinzufügen von 1 wird die Summe erzeugt:
48032 (x) + 99608 (Neuner-Komplement von y) + 1
=
147641
Wenn Sie die führende "1" löschen, erhalten Sie die richtige Antwort: 47641.
Binäre Methode [ edit ]
Binäre Ziffer | Komplement von Ones |
---|---|
0 | 1 |
1 | 0 |
Die Methode der Komplemente ist besonders nützlich bei binären Werten (Radix 2), da das Einsenkomplement sehr einfach durch Invertieren jedes Bits erhalten wird (Ändern von '0' in '1' und umgekehrt). Durch Hinzufügen von 1 zum Zweierkomplement kann ein Übertragen in das niedrigstwertige Bit simuliert werden. Zum Beispiel:
01100100 (x, gleich dezimal 100) - 00010110 (y, gleich dezimal 22)
wird zur Summe:
01100100 (x) + 11101001 (eine Ergänzung von y) + 1 (um das Zweierkomplement zu erhalten)
=
101001110
Wenn Sie die anfängliche "1" löschen, erhalten Sie die Antwort: 01001110 (entspricht Dezimalzahl 78).
Negative Zahlendarstellungen [ edit ]
Die Methode der Komplemente setzt normalerweise voraus, dass die Operanden positiv sind und y ≤ x x logische Einschränkungen, die darauf hinweisen, dass das Hinzufügen und Subtrahieren beliebiger Ganzzahlen normalerweise durch Vergleichen von Vorzeichen, Addieren der beiden oder Subtrahieren der kleineren von den größeren Zahlen erfolgt und dem Ergebnis das richtige Vorzeichen gibt.
Mal sehen, was passiert, wenn x [ y . In diesem Fall gibt es nach { displaystyle keine "1" -Ziffer, die nach der Addition durchgestrichen werden muss x-y + b ^ {n}} ist geringer als . Zum Beispiel (in Dezimalzahlen):
185 (x) - 329 (y)
und ergänzen und hinzufügen ergibt:
185 (x) + 670 (Neunergänzung von y) + 1
=
856
Zu diesem Zeitpunkt gibt es keinen einfachen einfachen Weg, um die Berechnung abzuschließen, indem (1000 in diesem Fall); Man kann eine führende 1 nicht einfach ignorieren. Die erwartete Antwort lautet -144, was nicht so weit ist, wie es scheint; 856 ist zufällig die Zehner-Ergänzung von 144. Dieses Problem kann auf verschiedene Arten gelöst werden:
- Ignorieren Sie das Problem. Dies ist sinnvoll, wenn eine Person ein Berechnungsgerät betreibt, das keine negativen Zahlen unterstützt, da vor dem Berechnen der beiden Operanden die beiden Operanden verglichen wurden, damit sie in der richtigen Reihenfolge eingegeben werden können und die Überprüfung des Ergebnisses für den Menschen einfach ist
- Verwenden Sie dieselbe Methode, um 856 von 1000 abzuziehen, und fügen Sie dem Ergebnis dann ein negatives Vorzeichen hinzu.
- Stellt negative Zahlen als Radixkomplemente ihrer positiven Gegenstücke dar. Zahlen unter werden als positiv betrachtet; Der Rest wird als negativ betrachtet (und die Größe kann durch die Radixkomplementierung erhalten werden). Dies funktioniert am besten für gerade Radices, da das Vorzeichen anhand der ersten Ziffer ermittelt werden kann. Zum Beispiel sind Zahlen in Zehner-Komplementnotation positiv, wenn die erste Ziffer 0, 1, 2, 3 oder 4 ist, und negativ, wenn 5, 6, 7, 8 oder 9 verwendet wird Bit kann als Vorzeichenbit angesehen werden: Die Zahl ist positiv, wenn das Vorzeichenbit 0 ist, und negativ, wenn es 1 ist. Tatsächlich wird Zweierkomplement in den meisten modernen Computern zur Darstellung von signierten Zahlen verwendet.
- Komplement das Ergebnis, wenn keine Übertragung der höchstwertigen Ziffer erfolgt (ein Hinweis darauf, dass x weniger als y war). Dies ist mit digitalen Schaltkreisen einfacher zu implementieren als das Vergleichen und Austauschen der Operanden. Da für das Radix-Komplement jedoch 1 hinzukommt, ist es schwierig, dies direkt zu tun. Glücklicherweise kann ein Trick verwendet werden, um diesen Zusatz zu umgehen: Anstatt bei der Subtraktion immer einen Übertrag in die niedrigstwertige Ziffer zu setzen, wird der Übertrag der höchstwertigen Ziffer als Übertrageingang für die niedrigstwertige Ziffer (eine aufgerufene Operation) verwendet ein End-around-Carry ). Wenn also y ≤ x ist, wird der Übertrag von der höchstwertigen Ziffer, die normalerweise ignoriert werden würde, hinzugefügt, was das korrekte Ergebnis ergibt. Wenn nicht, wird die 1 nicht hinzugefügt und das Ergebnis ist eins niedriger als das Radix-Komplement der Antwort oder das verminderte Radix-Komplement, für das kein Zusatz erforderlich ist. Diese Methode wird von Computern verwendet, die vorzeichenbehaftete Zahlen mithilfe von Vorzeichen und Größe darstellen.
Praktische Verwendung [ edit
Die Methode der Komplemente wurde in vielen mechanischen Rechnern als Alternative zum Rückwärtslauf der Zahnräder verwendet. Zum Beispiel:
- Pascals Taschenrechner hatte zwei Sätze von Ergebnisziffern, ein schwarzes Set, das das normale Ergebnis zeigt, und ein rotes Set, das die Neuner-Komplementarität dieser zeigt. Eine horizontale Lamelle wurde verwendet, um eines dieser Sets zu verdecken und das andere freizulegen. Zum Abzug wurden die roten Ziffern belichtet und auf 0 gesetzt. Dann wurde das Neunenkomplement des Minuend eingegeben. Auf einigen Maschinen könnte dies durch Einwahl des Minuhends unter Verwendung von inneren Rädern von Komplementen erfolgen (d. H. Ohne das Neunenkomplement des Minuhends mental bestimmen zu müssen). Bei der Anzeige dieser Daten im Komplement-Fenster (rotes Set) konnte der Bediener das Neuner-Komplement des Neuner-Komplements des Minuhends, dh des Minuhends, sehen. Die Leiste wurde dann verschoben, um die schwarzen Ziffern freizulegen (die nun das Neuner-Komplement des Minuhends darstellte), und der Subtrahend wurde durch Einwahl hinzugefügt. Schließlich musste der Bediener die Leiste erneut bewegen, um die korrekte Antwort zu lesen. [19659325] Das Comptometer hatte Neunergänzungsziffern in kleinerer Schrift zusammen mit den normalen Ziffern auf jeder Taste. Es wurde erwartet, dass der Operator 1 subtrahiert und subtrahiert und das Ergebnis mit den kleineren Ziffern eingibt. Da das Subtrahieren von 1 vor dem Komplementieren gleichbedeutend mit dem Hinzufügen von 1 ist, würde der Operator das Zehnerkomplement des Subtrahends effektiv hinzufügen. Der Bediener musste auch die "Subtraktionssperre" gedrückt halten, die der Ziffer ganz links der Antwort entspricht. Diese Registerkarte verhinderte die Weitergabe des Übertrags durch das Comptometer, die Methode des Comptometers, die anfängliche Nummer 1 aus dem Ergebnis zu entfernen. [2]
- Der Curta-Rechner verwendet die Methode der Komplemente zur Subtraktion und konnte diese vor dem Benutzer verbergen. Die Zahlen wurden mit Zifferneingabe-Dias entlang der Geräteseite eingegeben. Die Nummer auf jedem Schlitten wurde zu einem Ergebniszähler durch einen Getriebemechanismus addiert, der mit den Nocken einer drehenden "Echelon-Trommel" in Eingriff kam (auch als "Stufen-Trommel" bezeichnet). Die Trommel wurde mit einer Kurbel oben am Instrument gedreht. Die Anzahl der Nocken, auf die jede Ziffer beim Drehen der Kurbelwelle trifft, wurde durch den Wert dieser Ziffer bestimmt. Wenn ein Schlitten beispielsweise auf "6" eingestellt ist, wird eine Reihe von 6 Nocken um die dieser Position entsprechende Trommel angetroffen. Für die Subtraktion wurde die Trommel etwas verschoben, bevor sie gedreht wurde, wodurch eine andere Nockenreihe in Position gebracht wurde. Diese alternative Zeile enthielt das Neunenkomplement der Ziffern. Somit hatte die Reihe von 6 Nocken, die zum Hinzufügen in Position waren, nun eine Reihe mit 3 Nocken. Die verschobene Trommel rastete auch einen zusätzlichen Nocken ein, der zum Ergebnis 1 addierte (wie für die Komplementärmethode erforderlich). Das stets vorhandene Zehner-Komplement "Überlauf 1", das über die höchstwertige Stelle des Ergebnisregisters hinaus ausgeführt wurde, wurde praktisch verworfen.
In Computern [ edit
Use of Die Methode der Ergänzungen ist in digitalen Computern allgegenwärtig, unabhängig von der für signierte Zahlen verwendeten Darstellung. Die erforderliche Schaltung hängt jedoch von der Darstellung ab:
- Wenn die Zweierkomplementdarstellung verwendet wird, erfordert die Subtraktion nur das Invertieren der Bits des Subtrahends und das Setzen eines Übertrags in das ganz rechte Bit.
- Die Verwendung der Komplementdarstellung von Einsen erfordert das Invertieren der Bits des Subtrahends und das Verbinden des Übertrags höchstwertiges Bit für das Übertragen des niedrigstwertigen Bits (End-around-Carry).
- Die Verwendung der Vorzeichen-Amplituden-Darstellung erfordert nur das Komplementieren des Vorzeichen-Bits des Subtrahends und das Hinzufügen, aber die Additions- / Subtraktionslogik muss das Vorzeichen vergleichen Bits ergänzen eine der Eingaben, wenn sie sich unterscheiden, implementieren einen End-around-Carry und ergänzen das Ergebnis, wenn vom höchstwertigen Bit kein Carry vorhanden war.
Manuelle Verwendung [ edit ]
Die Methode der Ergänzungen wurde verwendet, um Fehler zu korrigieren, wenn Buchhandbücher von Hand geschrieben wurden. Um einen Eintrag aus einer Spalte mit Zahlen zu entfernen, kann der Buchhalter einen neuen Eintrag mit dem Zehnerkomplement der zu subtrahierenden Zahl hinzufügen. Über den Ziffern dieses Eintrags wurde ein Balken eingefügt, um seinen besonderen Status zu kennzeichnen. Es war dann möglich, die gesamte Spalte mit Zahlen hinzuzufügen, um das korrigierte Ergebnis zu erhalten.
Die Ergänzung der Summe ist praktisch für Kassierer, die eine Änderung für einen Kauf von einer Währung in einer einzelnen Währung von 1 vornehmen, die auf eine ganze Zahl der Basis der Währung erhöht wird. Für Dezimalwährungen wären dies 10, 100, 1.000 usw., z. eine 10-Dollar-Rechnung.
In der Grundschulausbildung [ edit ]
In Grundschulen wird den Schülern manchmal die Methode der Ergänzung als eine Abkürzung beigebracht, die in mental arithmetic nützlich ist ] Die Subtraktion erfolgt durch Addition des Zehner-Komplements des Subtrahends, das ist das Neun-Komplement plus 1. Das Ergebnis dieses Additions wird verwendet, wenn klar ist, dass der Unterschied positiv ist. Andernfalls wird das Zehn-Komplement des Additionsergebnisses verwendet es wurde als negativ markiert. Dieselbe Technik funktioniert zum Subtrahieren auf einer Addiermaschine.
Siehe auch [ edit ]
Referenzen [ edit ]
No comments:
Post a Comment