Google calcula … mal

Una de las prestaciones de Google es la calculadora: en un campo de búsqueda podemos introducir un cálculo matemático más o menos complejo y lo resolverá. Sin embargo, los resultados pueden no ser “reales”.

Y si no, podemos atenernos a esta sencilla operación que da un error un tanto extraño … se ve que le van mal las restas.

Google calculando

0 0 votos
Article Rating
Subscribe
Notify of
19 Comments
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
Anónimo
Anónimo
18 years ago

Aunque parezca una tontería… Ese cálculo puede salir mal en muchas calculadoras basadas en funciones “normales” de cualquier lenguaje de programación, porque 0.1 decimal, representado en binario, es un número periódico con un periodo bastante largo, de modo que es imposible representarlo con precisión…

Podéis hacer la prueba con python, por ejemplo:

echo "print 1 - 0.9 - 0.1" | python

O con Ruby:

echo "puts 1 - 0.9 - 0.1" | ruby

En cambio, el programa bc está pensado para precisión arbitraria:

echo "1 - 0.9 - 0.1" | bc

De todas formas, 2.77e-17 son 28 partes en un trillón…

Anónimo
Anónimo
18 years ago

Si lo hiciéramos en C, el error no se produciría si utilizáramos simple precisión (32 bits), pero sí si utilizásemos doble precisión (64 bits).

Anónimo
Anónimo
18 years ago

Ítem más: el límite de precisión en cálculos de 64 bits (lo que se suele llamar épsilon, ε, es de 222 partes en un trillón, de modo que el resultado, en realidad, es 0, porque es menor que la precisión del cálculo.

Anónimo
Anónimo
18 years ago

El ejemplo para Python también sirve para Perl, cambiando python por perl —quién lo hubiera dicho ;-)—.

Anónimo
Anónimo
18 years ago

eso es porque el problema esta mal condicionado,
habria que ver la posicion relativa de las rectas
y=1 , 0.9x+0.1y=1 y las que coje la maquina cometiendo
ese pequeño error de precision, y veremos como la solucion
de la ecuacion se desplaza un huevo,
no es un error del lenguaje de programacion,
es un error de precision de la maquina y del ingeniero
que hace el programa, claro que el que mas culpa
tiene es el ingeniero, que no tiene ni puta idea
de algebra lineal y numerica.

Anónimo
Anónimo
18 years ago

Es como el excel, si le pones cos(radianes(90) da 6,12574E-17 en vez de 0. Y ocurre esto en todas las versiones del excel que he probado.
El origen es debido a un error de redondeo del programa, aunque si fuera asó tendría que ocurror lo mismo con el seno de 0, cosa que no pasa.Lo gracioso es quie en openoffice y demás hacen bien este simple cálculo.

Anónimo
Anónimo
18 years ago

perdon la recta y=1 no, sino la x=1, con la y=1 si que funcionaria mejor el problema.

Anónimo
Anónimo
18 years ago

probad con 1 -1/3 -2/3

Anónimo
Anónimo
18 years ago

AHHHHH Pedrolo, gracias por la corrección…

Anónimo
Anónimo
18 years ago

esta vez el error es bajo pero todo el mundo sabe que es cero

Anónimo
Anónimo
18 years ago

Hemos vuelto al tiempo de los primeros pentium ¡horror!

Anónimo
Anónimo
18 years ago

Otro detalle curioso, poned:
answer to life, the universe and everything

Tambien hace saltar la calculadora de google (si alguien no sabe que significa, guia del autoestopista galactico).

Anónimo
Anónimo
18 years ago

Shin, no tiene nada que ver.

El resultado anterior es un resultado predecible y “correcto” en binario —y como ya he comentado, por debajo de la precisión disponible, y reproducible en diferentes lenguajes de programación… en nuestra propia máquina—. El problema de los Pentium era un fallo que daba un resultado binario incorrecto… y por supuesto, un resultado decimal incorrecto, muy por encima de la precisión de la máquina.

Anónimo
Anónimo
18 years ago

joer… yo que soy licenciado en Derecho, me lo tendré que creer, no?:P

Anónimo
Anónimo
18 years ago

Yo creo que el el problema del cálculo es que claro, usan el sistema anglosajón y no el sistema métrico… si todos estos programas y calculadoras usasen la coma como decimal, vamos, seguro seguro que saldrían mejor las cuentas, jajajajaja…

Lo siento, no he podido evitar sacar de nuevo mi vena defensora del sistema métrico, que sin darnos cuenta lo estamos perdiendo. La mayoría de los hispano-hablantes cuando leemos “1.25” pensamos “uno coma veinticinco”… ¿entonces por qué lo escribimos sin darnos cuenta con el punto?

Anónimo
Anónimo
18 years ago

Amfortas, tienes razón… pero los trozos de código que he puesto no funcionan si pones la coma como separador decimal… marditoz angrozajonez…

Anónimo
Anónimo
18 years ago

Me recuerda mi primera clase de Métodos Numéricos en la universidad, donde me enseñó el profesor tantos ejemplos en los que el Ingeniero involuntariamente introduce mala información y la computadora entrega resultados no deseados.

Por otra parte, sé que España es el único país hispano-parlante en el que se utilizan comas flotantes en vez de puntos flotantes.

Anónimo
Anónimo
18 years ago

España de único país hispano-parlente que usa la coma NADA. Digamos que la cosa está dividida al 50%, o más bien 60% que usan la coma y 40% que usan el punto.
En América cuanto más nos acercamos a los Estados Unidos, más países usan el punto como decimal y cuanto más tiramos hacia el sur más usan la coma. Se podría decir que centro-américa usan más el punto y sur-américa más la coma.
En Europa la inmensa mayoría usa la coma como decimal y con respecto al resto del mundo ya depende de la influencias que tubieron esos países por parte de otros. Japón por ejemplo casi todo su sistema de medidas lo han cogido de los EE.UU, mientras que buena parte de África y Asia el sistema lo han cogido de los franceses, belgas, portugueses y de los ingleses.
Como normativa a nivel internacional, para trabajos, proyectos, etc… que se presentan a la comunidad internacional, se han de hacer en el Sistema Internacional de Unidades y que es básicamente el sistema métrico con algunas variaciones.
Pero claro, en la informática e internet queramos o no, la influencia de los anglosajones en mayor y sin darnos cuentas estamos usando cada vez más su sistema de medidas sin darnos cuenta que, personalmente creo, que el nuestro es mejor y como digo, algo más mayoritario.

Anónimo
Anónimo
18 years ago

Lo han arreglado.

19
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x