does not give the .8 decimal in float
-
Micropython rounds after 9 bytes(full variable), but I need those numbers not rounded.
How can I add 8-digit numbers.
For example:
0.12345678+0.12345678 = 0.24691356 but micropython result is 0.2469136
Another example:
10.12345678+10.12345678 = 20.24802458 but micropython result 20.24691
How can ı fix this issue?
Can you help me guys?
Thank you!!!
-
@AlganEren Micropython on ESP32 uses single precision float with a 24 bit mantissa. That means, that it has only about 7 significant digits resolution. Besides other problems of representing a decimal fraction by a binary number that means, that the numbers you presented in you example cannot be represented by the internal number format. If you need more precision, you have to build an image using double precision floats. AFAIK, @rcoliste has pre-built such packages. see https://forum.pycom.io/topic/6234/pycom-firmwares-with-single-double-precision-and-ulab-module?_=1598594340450