Originariamente inviato da alsa81
Non ho mai sentito parlare di moltiplicazione a precisione multipla, come funziona?
È molto semplice, te lo spiego a parole ... anzi con uno schema.

Immagina di dover moltiplicare 16 bit x 16 bit ma tu, ad esempio, hai solo istruzioni per fare 8 bit x 8 bit (con risultato su 16 bit).

codice:
                8 bit 8 bit
               /     |     \

               +-----+-----+
               |  A  |  B  |  x
               +-----+-----+
               +-----+-----+
               |  C  |  D  |  =
               +-----+-----+
-------------------------------
               +-----+-----+
               |   B x D   |  +
               +-----+-----+
         +-----+-----+
         |   A x D   |        +
         +-----+-----+
         +-----+-----+
         |   B x C   |        +
         +-----+-----+
   +-----+-----+
   |   A x C   |              =
   +-----+-----+
-------------------------------
   +-----+-----+-----+-----+
   |  Risultato su 32 bit  |
   +-----+-----+-----+-----+
Poi se tenere il risultato su 32 bit o solo su 16 bit (con eventualmente l'indicazione di overflow), dipende dalle specifiche necessità.

Insomma ... se non puoi fare moltiplicazioni tra operandi a N bit ma puoi farle con operandi di M bit (con M < N), allora puoi risolvere la moltiplicazione con una serie di moltiplicazioni tra le sottoparti degli operandi, con sommatoria finale dei semi-risultati.