Hello, first post here from me!

I am a beginner in real programming, had some visual scripting experience as a hobby. I have a general question about floating point representation.

I tested some things and found that a maximum number of digits in a fractional part of a float number is 9 when dealing with long fractional numbers, meaning there is a cutoff from 9th digit after the floating point, so the rounding error is significant.

If, for example, I use reciprocal function 1/x, precision is lost: 1/119 returns 0.008403362, but 1/0.008403362 returns 118.99999. In 32 bit standard, there should be more digits, as stated here:

“The smallest normal value of a float, known as FLT_MIN, is 2^{-126}. A significand of 24 1s starting at the place of the smallest normal power of two exponent (-126) is this 24 significant bit number:

1.11111111111111111111111 x 2^{-126}

Written out longhand in binary it is 149 bits, 125 leading zeros followed by 24 1s. In decimal it is

0.00000000000000000000000000000000000002350988561514728583455765982071533026645717985517980855365926236850006129930346077117064851336181163787841796875

It has ** 149 digits**, 37 leading zeros followed by

**"**

**112 significant digits.**source: https://www.exploringbinary.com/maximum-number-of-decimal-digits-in-binary-floating-point-numbers/

My questions are: How to get full expression of a float number as described above and use it in functions? Is there a limitation or restriction on long float numbers in processing? And, if there are restrictions, is it possible to work around them?

I searched for answers in processing forums and documentation without much results. So, I would very much appreciate if someone has more insight into this matter.

Thank you in advance.