Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Binárne znázornenie: Základom je, že všetko v počítači je reprezentované ako séria 0S a 1S (bity). Čísla sú zastúpené binárne. Napríklad desatinné číslo 13 je znázornené ako 1101 v binárnom.
2. Bit Mesting: Posunutie bitov doľava je rovnocenné vynásobeniu sily 2. Napríklad:
* 1101 (13 desatinné) posunuté vľavo, jedno miesto sa stáva 11010 (26 desatinných miest - 13 * 2)
* 1101 posunuté doľava Dve miesta sa stávajú 110100 (52 desatinných miest - 13 * 4)
Toto je veľmi rýchla prevádzka pre počítač.
3. Pridanie: Násobenie je v podstate opakované pridanie. Počítače používajú proces nazývaný binárne násobenie čo je analogické s dlhým násobením, ktoré sa učíme v škole, ale prispôsobené binárnemu.
Uveďte príkladom:Vynásobte 13 (1101) o 5 (101):
`` `
1101 (13)
x 101 (5)
-------
1101 (13 * 1) <- Tento riadok je 1101 posunutých 0 miest (13 * 2^0)
0000 (13 * 0) <- Tento riadok je 1101 posunuté 1 miesto (13 * 2^1, ale vynásobené 0)
11010 (13 * 4) <- Tento riadok je 1101 posunuté 2 miesta (13 * 2^2)
-------
1000001 (65 desatinných miest)
`` `
Výsledok sa získa pridaním posunutých medziproduktov. Toto sa efektívne vykonáva pomocou pridaní v rámci aritmetickej logickej jednotky (ALU) CPU.
4. Implementácia hardvéru: Skutočné násobenie sa vykonáva špecializovanými obvodmi v ALU CPU. Tieto obvody, navrhnuté pomocou logických brán, efektívne vykonávajú vyššie opísané operácie posunutia a pridávania. Existujú variácie v presných obvodoch (napr. Použitie Boothovho algoritmu na rýchlejšie násobenie záporných čísel), ale základné princípy zostávajú rovnaké.
5. Implementácia softvéru: Programovacie jazyky na vysokej úrovni (ako Python, Java, C ++) Abstrakt preč podrobnosti o binárnom násobení. Keď píšete `x * y`, kompilátor alebo tlmočník to prekladá do série pokynov, ktoré môže CPU vykonať pomocou základných hardvérových metód opísaných vyššie.
Stručne povedané, hoci sa nám to môže zdať jednoduché, počítačové násobenie je sofistikovaný proces postavený na efektívnom binárnom pridaní a posunutí bitových posunu implementovaných v špecializovanom hardvéri. Jednoduchosť operátora `*` v programovaní skryje komplexnú sekvenciu operácií na nízkej úrovni.