Error al sumar o restar sucesivamente 0.1 en Excel 2010.

Al colocar por ejemplo 2 en la celda A1 y luego restarle sucesivamente 0.1 en las celdas inferiores (A2, A3, ...) arroja un error cuando llega a 0.9, lo que es más notorio cuando llega a 0. Lo mismo sucede cuando, en lugar de restar sumo 0.1.

1 Respuesta

Respuesta
1

Eso es típico en casi todos los programas de cálculo por ordenador. Tienen un precisión de 10, 12, 18 cifras o las que sean y a partir de ahi puede haber errores.

En concreto en Excel si pones que número tenga 14 decimales desaparece el erro, si pones 15 aparece.

Eso se debe a que los ordenadores no efectúan las sumas como nosotros con números decimales, sino que lo hacen con números binarios. Traducen el número decimal a binario, efectúan la suma binaria y traducen el resultado a decimal para que tú lo entiendas.

Entonces resulta que el número 0,1 que en decimal se representa con dos cifra y una coma y da respuestas exactas cada vez que se suma o resta, pues 0.1 en binario no tiene una representación exacta sino que tiene infinitos decimales y por eso se producen errores allá donde el ordenador fija la precisión que está empleando

0,1 es 1/10

1/10 tiene estos sumandos en potencias negativas de 2

primer sumando 1/16

el resto es 1/10 - 1/16 = (16-10) / 160 = 6/160 = 3/80

eso es menor que 1/16 y mayor que 1/32

segundo sumando 1/32

el resto es 3/80 - 1/32 = 1/160

tercer sumando 1/256

el resto es 1/160 - 1/256 = 3/1280

cuarto sumando 1/512

el resto es 3/1280 - 1/512 = 1/2560

Y por más que continúes nunca llegás a tener el resto 0. Es como si en decimal tomáramos el número 1/3 = 0.333333333333333... pues para el sistema binario 0.1 es un número con infinitos decimales. Los que hemos calculado harían que fuese

0,1 decimal = 0,000110011 en binario

si continuáramos calculando sería 0,0001100110011(0011)... en binario

que es un decimal periódico mixto

Aunque eso no lo he comprobado completamente, la verdad es que le resulta mucho más fácil al ordenador cambiar de base que a las personas.

Prueba restando un número que en binario sea decimal exacto tal como 0.125

0.125 decimal = 1/8 = 0.001 binario

Restando 0.125 verás como no sucede el problema.

LLevamos mas de 50 años con esos errores de cálculo, simplemente hay que saber que se producen, sabes que en Excel tienes 14 cifras exactas en esa operación simple que son muchas cifras, si fuese más complicada la operación podrían ser menos las cifra exactas, pero es un error estándar que está aceptado para la mayoría de las aplicaciones cotidianas.

Y eso es todo, espero que te sirva y lo hayas entendido. Si no es así pregúntame, y silla está bien no olvides puntuar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas