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
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login