Algoritmi per moltiplicare e sommare numeri grandi

Sk_Anonymous
Come è possibile gestire in un normale calcolatore numeri molto grandi, diciamo numeri interi a 200 cifre ? Vediamo l'algoritmo con un esempio e poi generalizziamo con il formalismo matematico.
Supponiamo di voler calcolare 321*44 = 14124
sappiamo che ogni numero intero lo possiamo scrivere nella sua notazione polinomiale:
(3x^2+2x+1)(2x+4)
con X = 10
svolgiamo la moltiplicazione tra i polinomi e consideriamo che 12 mod 10 = 2 (per i coefficienti del polinomio prodotto usiamo l'aritmetica modulo 10 ovvero se abbiamo coefficienti maggiori o uguali a 10 cioè ad esempio 12 = 10 +2 scriviamo 12 = X+2 per poi continuare a semplificare e a ridurre modulo 10 finché tutti i coefficienti del polinomio sono in base 10)
tralasciano i passaggi abbiamo che 1x^4+4x^3+1x^2+2x+4 cioè 14124 che è la soluzione
Il caso della somma è ancora più semplice perché 3x^2+2x+1+4x+4 = 3x^2+6x+5
cioè 321 + 44 = 365 (anche per la somma se ce ne fosse stato bisogno avremmo dovuto ridurre i coefficienti del polinomio in base l'aritmetica modulo 10)
Idem è il caso della differenza tra numeri. Più complesso è il caso della divisione

Risposte
gugo82
Se non erro, mi sembra sia più o meno dalla nascita delle calcolatrici meccaniche che la moltiplicazione e la somma vengono gestite così.
L'unica differenza è che oggi i computer operano in base [tex]$2$[/tex], non in base [tex]$10$[/tex].

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.