È molto semplice, te lo spiego a parole ... anzi con uno schema.Originariamente inviato da alsa81
Non ho mai sentito parlare di moltiplicazione a precisione multipla, come funziona?
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).
Poi se tenere il risultato su 32 bit o solo su 16 bit (con eventualmente l'indicazione di overflow), dipende dalle specifiche necessità.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 | +-----+-----+-----+-----+
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.

Rispondi quotando