On Fri, Sep 22, 2017 at 8:37 AM, Guido van Rossum <gu...@python.org> wrote:

> On Thu, Sep 21, 2017 at 9:20 PM, Nick Coghlan <ncogh...@gmail.com> wrote:
>
>>     >>> one_tenth = 0x1.0 / 0xA.0
>>     >>> two_tenths = 0x2.0 / 0xA.0
>>     >>> three_tenths = 0x3.0 / 0xA.0
>>     >>> three_tenths == one_tenth + two_tenths
>>     False
>>
>
> OMG Regardless of whether we introduce this feature, .hex() is the way to
> show what's going on here:
>
> >>> 0.1.hex()
> '0x1.999999999999ap-4'
> >>> 0.2.hex()
> '0x1.999999999999ap-3'
> >>> 0.3.hex()
> '0x1.3333333333333p-2'
> >>> (0.1+0.2).hex()
> '0x1.3333333333334p-2'
> >>>
>
> This shows so clearly that there's 1 bit difference!
>

Thanks! I really should add this example to the math.isclose() docs....

.hex is mentioned in:

https://docs.python.org/3/tutorial/floatingpoint.html

but I don't see it used in a nice clear example like this.

-CHB









>
>
> --
> --Guido van Rossum (python.org/~guido <http://python.org/%7Eguido>)
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas@python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>
>


-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to