Existen diferentes métodos de división, según los números que se manejarán. Para los enteros, el método de cambio y resta dado por otros funcionará bien. Sin embargo, para los números de punto flotante, puede ser más rápido calcular primero el recíproco del denominador y luego multiplicar eso por su numerador.
El cálculo del recíproco del denominador no es tan malo; Se hace refinando aproximaciones sucesivas. Dejemos que g sea tu conjetura para 1 / d. Para una estimación mejorada, use g '= g (2-gd). Esto converge cuadráticamente, por lo que dobla los dígitos de precisión en cada mejora.
Ejemplo: calcular el recíproco de 3.5.
Tu estimación inicial es 0.3. Calculas 0.3 * 3.5 = 1.15. Su estimación ajustada es 0.3 * (2 - 1.15) = 0.285. ¡Ya está bastante cerca! Repita el proceso y obtendrá 0.2857125, y un tercer intento obtiene 0.2857142857.
Hay algunos atajos. En punto flotante, puede extraer potencias de diez o potencias de dos, según la base numérica de su máquina. Y, para la velocidad a expensas de un mayor uso de la memoria, puede usar una tabla precalculada para los números en el rango de 1 a b (donde b es su base numérica) para obtener una estimación que se encuentre inmediatamente cerca del recíproco requerido y guarda 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 estudiante Anatoly Karatsuba, nunca se sabe cuándo se encontrará un método más rápido o mejor. Nunca renuncies a tu curiosidad.