¿Por qué la raíz cúbica de 64 es igual a 4.000000000000001 en mi calculadora cuando 4 ^ 3 = 64 en la misma calculadora?

¿Qué causa este fenómeno? ¿Tiene algún significado? (La calculadora es la calculadora predeterminada en el iPhone que se convierte en una calculadora científica si la gira de lado)

No significativo (sin juego de palabras). Los algoritmos utilizados por las calculadoras para calcular raíces cuadradas, potencias fraccionarias y otras funciones son inevitablemente de naturaleza iterativa: repiten cierto proceso una y otra vez hasta que alcanzan lo que consideran suficiente precisión. Ver “Método de Newton” [1] para un procedimiento típico de este tipo.

Esos algoritmos son a veces, pero no siempre, lo suficientemente inteligentes como para incluir una verificación de que si el resultado es casi un número entero (o casi un número racional con un pequeño denominador), deberíamos verificar si el entero funciona y, de ser así, rendirlo ( en lugar de la aproximación) como la respuesta.

También tengo “TouchCalc”, una aplicación para iPhone, y lo hace bien.

[1] http://en.wikipedia.org/wiki/New…

Es la unidad de punto flotante de hardware (FPU) …

Pruebe 0.5 – 0.4 – 0.1 = 0. Sorprendentemente, muchas aplicaciones de calculadora se equivocan y muestran un número muy pequeño en lugar de cero. Estas aplicaciones usan la unidad de punto flotante de hardware (FPU). Si bien esto está perfectamente bien para muchas aplicaciones y juegos, en mi opinión es insuficiente para una calculadora. La FPU realiza aritmética binaria en lugar de la aritmética decimal que usan las personas. Como los números se convierten entre binarios y decimales, pueden producirse pequeños errores de redondeo. Las calculadoras de mano usan aritmética decimal, no binaria, para evitar tales errores de redondeo.

Intente 2 ^ 64 = 18446744073709551616. Casi todas las aplicaciones de calculadora se equivocan y pierden los dígitos del extremo inferior y muestran un valor truncado usando notación exponencial. Esto se debe a otro problema con la FPU, está limitado a alrededor de 16 dígitos decimales de precisión, mucho menos que los 20 necesarios para realizar una aritmética de 64 bits. Muchas calculadoras portátiles también usan menos de 20 dígitos y tienen este problema.

Como desarrollador, soy parcial pero sugiero echar un vistazo a Perpenso Calc. Utiliza la aritmética decimal para evitar errores de redondeo binario y también utiliza 20 dígitos de precisión internamente para obtener cálculos de 64 bits correctos.

http://www.perpenso.com/calc/cal

Perpenso Calc es cinco calculadoras en una: científica, estadística, comercial, hexadecimal y factura / propina. Con su soporte para RPN, fracciones, números complejos y muchas otras características, es comparable a las calculadoras de mano tradicionales. La funcionalidad específica del iPad incluye líneas de visualización personalizables.