#๐ Why does 1 + 10**(-20) - 1 = 0
23 messages ยท Page 1 of 1 (latest)
@weary canyon
Remember to:
- Ask your Python question, not if you can ask or if there's an expert who can help.
- Show a code sample as text (rather than a screenshot) and the error message, if you've got one.
- Explain what you expect to happen and what actually happens.
:warning: Do not pip install anything that isn't related to your question, especially if asked to over DMs.
probably because 10^-20 is negligible
!e print(10**-20)
:white_check_mark: Your 3.12 eval job has completed with return code 0.
1e-20
:white_check_mark: Your 3.12 eval job has completed with return code 0.
0.0
:white_check_mark: Your 3.12 eval job has completed with return code 0.
1e-20
Huh interesting
!e print(1 + 10**-20)
:white_check_mark: Your 3.12 eval job has completed with return code 0.
1.0
!e print(1 * 10**-20)
:white_check_mark: Your 3.12 eval job has completed with return code 0.
1e-20
it's because 10^-20 is 0.000 000 000 000 000 000 01
yeah i know
floats have greater precision the closer to 0 they are, so it makes sense for 1e-20 to be representable but also for 1+ 1e-20 to not be representable
Ah thanks!
This help channel has been closed and it's no longer possible to send messages here. If your question wasn't answered, feel free to create a new post in #1035199133436354600. To maximize your chances of getting a response, check out this guide on asking good questions.
๐ Why does 1 + 10**(-20) - 1 = 0