La división entera en coma flotante es trivial

Moving integer division to floating-point is trivial

La división entera en hardware es lenta, pero la coma flotante es más rápida. Este artículo demuestra que, para enteros que caben en 53/24 bits (doble/simple precisión), se puede usar la división en coma flotante con redondeo estándar para obtener el cociente y el resto enteros, usando trunc y fma. Se analiza por qué no hay empates en la división en coma flotante y se prueba que el redondeo no puede llegar al siguiente entero, con una tabla de límites para distintos divisores.

El punto importante: para dos enteros x e y que caben en 53/24 bits, promovidos a coma flotante, d = trunc(x/y) y m = -fma(d, y, -x) dan el cociente y el resto enteros en modo de redondeo estándar.

Más de este día

2026-08-14