Claramente es un error si crees que las matemáticas exactas deberían coincidir. Probablemente también es una característica, ya que la biblioteca matemática elegida fue probablemente elegida para ser rápida y pequeña para las matemáticas que necesita hacer y no la precisión científica para calcular un alunizaje.
Este tipo de errores de redondeo sucede todo el tiempo, especialmente si eres descuidado o no implementar un dígito de guardia para "números pequeños" como 65 mil. Todas las bibliotecas matemáticas hacen aproximaciones cuando codifican valores, por lo que los bits a veces importan cuando se comprueba algo que está muy cerca de cero. En tu ejemplo los dos números grandes no están perfectamente representados y obtienes un error de redondeo muy insignificante que no se cancela perfectamente cuando la resta ocurre en un caso pero no en el otro. El 1e-29 debería ser redondeado a cero, a menos que el objetivo sea introducir a la gente en este concepto.
Cuando necesite ser preciso, utilice PCalc u otra calculadora que maneje correctamente la precisión y el redondeo.
Además, si se toma 1E-29 del peso de la tierra, eso es algo menos de 60 mg. Si se estimara la masa de la tierra, se estaría de más de un copo de nieve y menos de un grano de arena. Esto es, literalmente, el proverbial "hacer una montaña de un grano de arena".
Dicho esto, si te gustan las matemáticas o los ordenadores, esto es muy chulo, ya que expone la representación interna de un número y ves cómo una aproximación puede provocar errores de redondeo para números no muy grandes en este caso. Hay libros legendarios (al menos para los ingenieros y programadores) dedicados a las recetas numéricas y trucos para hacer cálculos rápidos y precisos cuando no llevas una biblioteca matemática perfecta.
0 votos
¿Lo has comprobado con tu calculadora?
0 votos
La calculadora funciona correctamente