Why 0.1 plus 0.2 is not 0.3?
What could be the answer to the 0.1 + 0.2? Is it 0.3? If Yes, then you are certainly wrong, time to go to the high school math classes. JK.
Let’s check this fact in the python shell.
Wait!
What’s happening over here?
Why am I getting this fancy number 0.30000000000000004?
The answer lies in the floating-point precision for the binary and decimal system.
Because the sole prime factor in binary (or base-2) is 2, we can only neatly write fractions using only 2 as a prime factor in the denominator. 1/2, 1/4, and 1/8 would all be clean decimals in binary, however 1/5 and 1/10 would be repeating decimals. So, whereas 0.1 and 0.2 (1/10 and 1/5), respectively, are clean decimals in a base-10 system, they are repeating decimals in the computer’s base-2 system. When you do math with these repeated decimals, you have leftovers that carry over when you convert the computer’s base-2 to decimal (binary)
So this was all today, see you all in the blog post, untill then bye!