¿Cómo realizan las computadoras la multiplicación y la complejidad del tiempo?

Usualmente usan árboles de sumadores 4 sobre 2, que son sumadores de tiempo constante que suman cuatro números a dos calculando bits de acarreo y suma de bits en paralelo, sin la necesidad de propagar el acarreo. Se usa un sumador normal (p. Ej., Sumador de búsqueda anticipada) en la parte inferior para obtener un solo número.

Los sumandos se obtienen de la manera obvia al distribuir un multiplicador sobre el otro, utilizando el hecho de que la multiplicación de un solo bit con una cadena de bits se puede calcular utilizando una compuerta AND paralela.

Por lo tanto, la demora es logarítmica. El costo es cuadrático.

Para ahorrar un factor constante de cable y, por lo tanto, retrasar, a menudo se usa la decodificación de la cabina.

También existen otros algoritmos, como el algoritmo Karatsuba. y reduzca el costo a algo como [matemáticas] O (n ^ {1.5}) [/ matemáticas]

Creo que Müller-Paul (Computer Architecture) tiene una construcción de tal unidad de multiplicación.