Closed AguHDz closed 7 years ago
Sí, lo había notado. Es un tema de redondeo inherente a los cálculos en coma flotante, del intérprete de directivas (Ese nombre es muy largo. Mejor lo llamo IDD o DII). Sé que se puede solucionar, redondeando la precisión del resultado, pero no le habíada dado mucha importancia, porque como mencionas, no es crítico, y además, está pendiente de implementarse, algunas funciones de manejo de números y de cadenas, que deberían solucionar este tema.
En la versión 0.7.7, se ha mejorado la precisión de los cálculos con números decimales. Así que este problema debería estar resuelto. Además se han creado las funciones round() y trunc(), que solucionarían algunos casos de redondeo.
Ok, confirmado. En versión 0.7.7 el problema está resuelto.
Un pequeño detalle, probando el compilador este este código:
Primero darte la enhorabuena por el control actual sobre los bancos de memoria RAM donde se sitúan las variables.
Y el detalle de los decimales basura se da cuando la velocidad de reloj es, por ejemplo, 12 MHz. En lugar de obtener en la ventana de mensajes el dato 0,333333333333333333, a partir del decimal 9 no es correcto, y si pones 10 MHz se debería obtener 0,4 los "decimales basura" estropean el resultado a partir nuevamente el noveno decimal.
Ya se que no es algo significativo, pero estaba probando otros que funcionan perfectamente, y este detalle estético creo que también hay que cuidarlo. :)