Cálculo ultrarrápido del día de la semana: 3 instrucciones y sin penalización

A faster way to calculate the day of the week

Cálculo ultrarrápido del día de la semana: 3 instrucciones y sin penalización

Un nuevo artículo de Ben Joffe presenta algoritmos para convertir un día rata (día contado) al día de la semana, superando a las soluciones existentes. El método más rápido, para x86, usa solo una multiplicación, una suma y un desplazamiento, y funciona en todo el rango de 32 bits con signo. También se muestra que el formato ISO (1-7) se puede calcular con las mismas instrucciones, solo cambiando constantes. Las técnicas se generalizan a otros divisores como 24 y 60, útiles para el cronometraje. El artículo incluye benchmarks y código en C++.

Un resultado sorprendente: el día de la semana se puede calcular en formato ISO ([1‥7] en lugar de [0‥6]), con exactamente las mismas instrucciones, solo con constantes ajustadas (y sin penalización de velocidad).

Más de este día

2026-08-20