Existen métodos muy diferentes para la división, dependiendo de los números a manejar. Para enteros, el método shift-and-sustract dado por otros funcionará bien. Sin embargo, para los números de coma flotante, puede ser más rápido calcular primero el recíproco del denominador y luego multiplicarlo por su numerador.
El cálculo del recíproco del denominador no es tan malo; Se realiza mediante el refinamiento de aproximaciones sucesivas. Deje que g sea su suposición para 1 / d. Para una suposición mejorada, use g '= g (2-gd). Esto converge cuadráticamente, por lo que duplica los dígitos de precisión en cada mejora.
Ejemplo: calcular el recíproco de 3.5.
Su conjetura inicial es 0.3. Calcula 0.3 * 3.5 = 1.15. Su conjetura ajustada es 0.3 * (2 - 1.15) = 0.285. Ya muy cerca! Repita el proceso y obtendrá 0.2857125, y un tercer intento obtendrá 0.2857142857.
Hay algunos atajos. En coma flotante, puede extraer potencias de diez o potencias de dos, dependiendo de la base numérica de su máquina. Y, para la velocidad a expensas de un mayor uso de memoria, puede usar una tabla precalculada para números en el rango de 1 a b (donde b es su base de números) para obtener una suposición que esté inmediatamente cerca del recíproco requerido y guardar uno o dos pasos de refinamiento.
Tenga en cuenta que, al igual que con la multiplicación y la vergüenza de Kolmogorov en 1960 por su alumno Anatoly Karatsuba, nunca se sabe cuándo se encontrará un método más rápido o mejor. Nunca rindas tu curiosidad.