Por lo que he visto, la división es una operación muy costosa en términos de tiempo o área (compensación). Generalmente se implementa como una operación de resta continua de un número de otro número para obtener los bits de cociente.
Si bien entiendo cómo se implementan la suma, la resta y la multiplicación, existe cierta confusión en torno a la división. Tengo 3 preguntas interrelacionadas.
P1: Si la división es simplemente una recursión de restas hasta que nos quede el resto, ¿cómo se obtendría una salida de punto fijo, es decir, una salida con partes enteras y fracciones; ya que un cociente de enteros representa cuántas veces hicimos la resta en un bucle.
P2: ¿Cómo se lidiaría con los números decimales recurrentes como cociente? Supongo que a través del redondeo, es decir, no nos importa si el resultado es un decimal recurrente o no, solo calculamos el resultado a ciertos dígitos de la parte fraccionaria.
P3: siempre que tenga un IP divisor que genere el resto y el cociente, ¿cómo obtendré la parte fraccionaria de la salida ya que el resto no es realmente igual a la parte fraccionaria?