El redondeo: sus reglas y su coste

El redondeo parece el único rincón de la aritmética en el que no hay nada que discutir. Elige un valor y observa cómo seis reglas no se ponen de acuerdo. Luego redondea ese mismo número en dos pasos en lugar de uno y mira cómo cambia la respuesta.

Cargando simulación interactiva...

La regla de la mitad al par no es más precisa, es imparcial 🖖

En un empate, el valor está exactamente entre dos vecinos y ninguna regla puede acertar. La única cuestión es en qué dirección equivocarse. La regla escolar siempre va hacia arriba. Es fácil de enseñar y fácil de comprobar, pero su coste es que se equivoca siempre en la misma dirección. Carga una columna de empates y pulsa mitad hacia arriba. El total queda media unidad por valor por encima de la verdad. Termina 1.000 por encima en 2.000 valores y 3.200 por encima en 6.400, sin ninguna dispersión, porque una regla que nunca varía no tiene nada de aleatoria. La regla de mitad al par envía el empate al vecino que sea par. Así el 2,5 baja al 2 mientras que el 3,5 sube al 4. En una columna que no conspira en tu contra, el efecto se alterna y los errores se cancelan en lugar de acumularse. El estándar IEEE 754 la convirtió en la regla por defecto para la aritmética de coma flotante y la mayoría de las normas contables la exigen. Ninguno lo hizo por ser más precisa, ya que en un número aislado a veces es peor. Su ventaja es que resulta imparcial cuando se aplica a muchos valores, una propiedad distinta y la que realmente importa ante grandes cantidades.

Redondear dos veces es una operación distinta a redondear una vez 🖖

Pasa el 2,45 a un número entero. Lo que sigue a la coma es menos de la mitad, así que la respuesta es 2. Ahora hazlo en dos movimientos. A un decimal, el 2,45 es un empate y se convierte en 2,5; luego el 2,5 a un entero es 3. Ambos movimientos obedecieron la regla y las respuestas son 2 y 3. Lo que ocurrió fue que el primer redondeo fabricó un empate que no existía. El valor original estaba claramente por debajo de la mitad. Tras un paso, se situó exactamente en el medio y dejó al segundo paso la tarea de adivinar. Repasa todos los valores con dos decimales hasta el 1.000 y esa escala intermedia cambia la respuesta en el 5,00% de los casos. Afecta a cualquier valor cuyas centésimas vayan del 45 al 49, es decir, 5 de cada 100. Por este motivo, un cambio de divisa, el cálculo de un impuesto o una cadena de conversiones de unidades especifican siempre dónde se aplica el redondeo. No es porque alguien dude de la aritmética. Es porque "redondear al final" y "redondear en cada paso" son dos cálculos distintos con el mismo aspecto.

Un error sesgado crece con la cantidad; uno imparcial crece con su raíz cuadrada 🖖

Cambia la columna a empates y arrastra su longitud. La regla de mitad hacia arriba dibuja una línea recta. Cada valor aporta media unidad en la misma dirección, por lo que la desviación es la mitad del total de forma constante y sin dispersión. La regla de mitad al par dibuja algo que divaga. Sube un poco, vuelve a bajar, cruza el cero y sale por el otro lado. Medido en 2.000 columnas distintas, el tamaño habitual de ese vaivén es la mitad de la raíz cuadrada de la cantidad de valores. Es aproximadamente 5 en cien valores, 20 en mil seiscientos, 40 en seis mil cuatrocientos. Esa es la firma de un camino aleatorio y representa toda la diferencia en la práctica. Con seis mil cuatrocientos valores, la regla sesgada falla por 3.200 y la justa por unos 40. La proporción entre ambas sigue ampliándose con cada fila añadida, porque una crece como el recuento total y la otra como su raíz cuadrada. Pasa a cantidades ordinarias y ocurre lo mismo de forma discreta. Los empates son raros ahí, apenas 11 de cada 1.000, por lo que la mayor parte de la desviación viene del redondeo ordinario. Ambas reglas de la mitad terminan a una distancia de unos 8 del 98.351,63 real. Prueba luego la regla hacia abajo en esa misma columna y se queda corta por 486. La regla hacia abajo le quita algo a casi todos los valores, no solo a los empates.

Problemas resueltos al detalle

  1. Redondear 1.000 cantidades a la unidad entera más cercana con un total real de 98.351,63 7 pasos

    Una tienda redondea cada uno de 1.000 importes a la unidad entera más cercana y los suma. El total real es 98.351,63. Calcula cuál es el total redondeado con cada regla y decide cuál debería usar la tienda.

    1. Aclara la regla antes de que la columna signifique nada. Toma el 2,5. La regla de mitad hacia arriba lo pasa al 3. La de mitad al par lo pasa al 2, porque el 2 es el vecino par.

    2. Comprueba que la mitad al par alterna en lugar de ir siempre hacia abajo. El 3,5 pasa al 4 con ambas reglas, porque esta vez el vecino par es el de arriba.

    3. Ahora la columna. De los 1.000 importes, solo 11 caen exactamente en un empate, por lo que las dos reglas de la mitad coinciden en 989 de ellos y pueden diferir como máximo en 11. Eso es una unidad por empate.

    4. Suma los valores redondeados. La mitad hacia arriba da 98.360, que está 8,37 por encima del real. La mitad al par da 98.354, es decir, 2,37 por encima. El 6 de diferencia entre ambos salió de esos 11 empates.

    5. La mayor parte de esa desviación no proviene de los empates en absoluto. Es redondeo ordinario que, sobre 1.000 cantidades ordinarias, tiene más o menos la misma probabilidad de ir hacia un lado o hacia el otro. Para ver las reglas en sí mismas y no el ruido, cambia la columna a empates, donde todos los valores lo son. La regla de mitad hacia arriba queda entonces 500 por encima y la de mitad al par falla por 6.

    6. Prueba la regla hacia abajo en la columna original para contrastar. Da 97.866, que se queda corta por 486. Esta regla le quita algo a casi cada valor en lugar de hacerlo solo en los empates, de modo que su desviación no necesita empates para acumularse.

    7. Qué regla usar depende, por tanto, de lo que se esté protegiendo. Para un recibo único sirve cualquier regla de la mitad y la diferencia nunca supera la media unidad. A lo largo de un libro de cuentas, solo una regla sin dirección preferida deja el total en su punto de partida.

    Respuesta

    98.360 con mitad hacia arriba, 98.354 con mitad al par, 97.866 con regla hacia abajo, frente a los 98.351,63 reales. La tienda debería usar la mitad al par. No porque sea más precisa en un importe concreto, donde a veces es peor, sino porque sus errores carecen de dirección y no se acumulan. La mitad hacia arriba se equivoca por media unidad en cada empate que encuentra, hacia arriba y sin excepción.

  2. 1,005 con dos decimales, y el empate que no lo es 7 pasos

    Redondea 1,005 a dos decimales. Averigua qué guarda de verdad la máquina cuando escribes eso y decide después si una hoja de cálculo que responde 1,00 se ha equivocado.

    1. Como decimal es un empate: 1,005 está a la misma distancia de 1,00 que de 1,01, así que la regla de mitad hacia arriba lo manda hacia arriba y el panel imprime 1,01.

    2. La máquina no guarda un decimal. Un double es una suma de potencias de dos, y 0,005 es una doscentésima, cuyo denominador lleva un 5² que ninguna potencia de dos puede aportar. El desarrollo binario no termina nunca.

    3. Lo que se almacena es el double más cercano, y queda por debajo de 1,005 en unos 1,07 × 10⁻¹⁶. Comparado con exactitud, eso no es ningún empate, y la mitad hacia arriba lo mandaría abajo, a 1,00.

    4. La diferencia se hace visible en cuanto el valor se escala para compararlo. 1,005 × 100 es 100,49999999999999, cuya parte fraccionaria se queda por debajo de un medio en 1,42 × 10⁻¹⁴.

    5. Por eso el redondeo de aquí ajusta al empate. Todo lo que esté a menos de 8 pasos de máquina de un medio se trata como un medio, y a este tamaño esa ventana es de 1,79 × 10⁻¹³, más de diez veces más ancha que la diferencia. El panel responde a la pregunta que hiciste sobre el decimal, no a la que planteaba el binario.

    6. La tolerancia no sale gratis, y la columna enseña lo que cuesta. Mil valores terminados en ,005, empujados cada uno media centésima hacia arriba, dejan el total 5,00 por encima de lo real. La mitad al par reparte esos mismos empates y se queda en 0,07.

    7. Dos de los otros ajustes son de otra clase. 2,5 y 12,5 tienen forma binaria exacta, de modo que son empates dentro de la máquina además de sobre el papel y no interviene tolerancia alguna. «Exactamente la mitad» es una propiedad del decimal que escribiste, y solo sobrevive dentro de la máquina para las mitades que de verdad lo son.

    Respuesta

    1,01, y una hoja de cálculo que responde 1,00 acierta sobre el número que guarda y se equivoca sobre el número que escribiste. El valor almacenado está 1,07 × 10⁻¹⁶ por debajo de 1,005, así que una comparación exacta no ve empate alguno, y es el ajuste al empate lo que devuelve la respuesta al sitio donde un lector la espera. Ninguna regla de redondeo repara el problema de fondo. El dinero va en céntimos enteros, o en un tipo decimal, donde 1,005 es 1,005 y la pregunta ni siquiera surge.

Ruta de aprendizaje

Escribir un número

Referencias (2)

Problemas de ejemplo

  • Un empate - El 2,5 cae exactamente entre el 2 y el 3, y las reglas se dividen. La mitad hacia arriba dice 3; la mitad al par dice 2. Cambia el valor a 3,5 y ambas coinciden en el 4, porque el 4 es el vecino par ahí. La regla de la mitad al par no favorece el redondeo hacia abajo, sino que alterna.
  • Redondeo doble - El 2,45 redondeado a un número entero es 2. Si lo redondeas primero a un decimal se convierte en 2,5, y el 2,5 a un entero es 3. Ningún paso ha roto las reglas y las respuestas son distintas.
  • El que parece un error - El 1,005 a dos decimales debería ser 1,01. Pregúntale a JavaScript o a Python y ambos dicen 1,00. Esto ocurre porque el 1,005 no se guarda como 1,005, sino un poco por debajo, y 1,005 por 100 da 100,49999999999999. Esta herramienta responde 1,01. La única razón por la que puede hacerlo es que busca los empates usando un margen de tolerancia en lugar de comprobar la igualdad exacta.
  • Una columna larga - 6.400 valores, todos ellos ubicados exactamente en un empate. La regla de mitad hacia arriba los envía todos en la misma dirección y el total queda 3.200 por encima. Supone media unidad por valor, sin excepciones. La mitad al par, en esta columna, falla por 1.