Computer vermehren sich nicht auf die gleiche Weise wie Menschen. Sie verwenden eine Kombination von Techniken, die auf ihrer binären (Basis-2) Natur basieren und sich hauptsächlich auf Addition und Bitveränderung verlassen. Hier ist eine Aufschlüsselung:
1. Binäre Darstellung: Die Grundlage ist, dass alles in einem Computer als eine Reihe von 0S und 1s (Bits) dargestellt wird. Zahlen sind in binär dargestellt. Beispielsweise wird die Dezimalzahl 13 in binär dargestellt.
2. Bit -Verschiebung: Das Verschieben von Bits nach links entspricht dem Multiplizieren mit der Kräfte von 2. Zum Beispiel:
* 1101 (13 Dezimal) verschoben links ein Ort wird zu 11010 (26 Dezimaler - 13 * 2)
* 1101 verlagerte links zwei Plätze werden zu 110100 (52 Dezimaler - 13 * 4)
Dies ist ein sehr schneller Betrieb für den Computer.
3. Addition: Die Multiplikation ist im Wesentlichen wiederholt. Computer verwenden einen Prozess namens binäre Multiplikation Das ist analog zu einer langen Multiplikation, die wir in der Schule lernen, aber für binär angepasst sind.
Lassen Sie uns mit einem Beispiel veranschaulichen:Multiplizieren Sie 13 (1101) mit 5 (101):
`` `
1101 (13)
x 101 (5)
-------
1101 (13 * 1) <- Diese Zeile ist 1101 verschoben 0 Plätze (13 * 2^0)
0000 (13 * 0) <- Diese Zeile ist 1101 verschoben 1 Platz (13 * 2^1, aber multipliziert mit 0)
11010 (13 * 4) <- Diese Reihe ist 1101 verschoben 2 Plätze (13 * 2^2)
-------
1000001 (65 Dezimal)
`` `
Das Ergebnis wird durch Hinzufügen der verschobenen Zwischenergebnisse erhalten. Dies erfolgt effizient mit Addierern innerhalb der arithmetischen Logikeinheit (ALU) der CPU.
4. Hardware -Implementierung: Die tatsächliche Multiplikation wird durch spezielle Schaltungen innerhalb der ALU der CPU durchgeführt. Diese Schaltkreise, die mit Logikgates entwickelt wurden, führen die oben beschriebenen Bitwechsel- und Additionsvorgänge effizient aus. Es gibt Variationen in der genauen Schaltung (z. B. unter Verwendung des Booth -Algorithmus zur schnelleren Multiplikation negativer Zahlen), aber die Kernprinzipien bleiben gleich.
5. Software -Implementierung: Programmiersprachen auf hoher Ebene (wie Python, Java, C ++) Abtrakt werden die Details der binären Multiplikation abstrahieren. Wenn Sie `x * y` schreiben, übersetzt der Compiler oder Interpreter dies in eine Reihe von Anweisungen, die die CPU mit den oben beschriebenen zugrunde liegenden Hardwaremethoden ausführen kann.
Zusammenfassend lässt sich sagen, dass es uns für uns einfach erscheint, aber die Computermultiplikation ist ein ausgeklügelter Prozess, der auf einer effizienten binären Ergänzung und einer in speziellen Hardware implementierten Bitverschiebung basiert. Die Einfachheit des "*" -Operators in der Programmierung verbirgt eine komplexe Folge von Operationen auf niedriger Ebene.