Un nuevo algoritmo acelera la división entera con redondeo hacia abajo en 64 bits

A new faster algorithm to compute 64-bit signed floor division

Ben Joffe presenta un método para la división entera con redondeo hacia −∞ cuando el divisor se conoce en tiempo de compilación. En ARM, supera en un 10–20% el rendimiento de los algoritmos existentes para la mayoría de divisores de 64 bits; en x86, mejora un 5–10% para el 80% de los divisores positivos. El artículo repasa los enfoques clásicos, señala que Hacker's Delight apenas lo cubre y denuncia que una conocida librería arrastró un error de desbordamiento durante más de cuatro años.

«Quizá parezca que convertir la división modular o con redondeo hacia abajo por una constante en una multiplicación sería más sencillo, ya que podría omitirse el paso de “sumar 1 si el dividendo es negativo”. No es así. Los métodos dados arriba no se aplican de forma obvia a la división modular ni a la división con redondeo hacia abajo. Tal vez podría elaborarse algo; implicaría alterar ligeramente el multiplicador m, según el signo del dividendo.»

Más de este día

2026-10-29