[Python-Dev] Why is nan != nan? (original) (raw)

Mark Dickinson dickinsm at gmail.com
Thu Mar 25 15:22:33 CET 2010


On Thu, Mar 25, 2010 at 2:08 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:

Jesus Cea wrote:

But IEEE 754 was created by pretty clever guys and sure they had a reason for define things in the way they are. Probably we are missing something. Yes, this is where their "implementable in a hardware circuit" focus comes in. They were primarily thinking of a floating point representation where the 32/64 bits are it - you can't have "multiple NaNs" because you don't have the bits available to describe them.

I'm not so sure about this: standard 64-bit binary IEEE 754 doubles allow for 253-2 different nans (252-2 signaling nans, 2**52 quiet nans): anything with bit pattern (msb to lsb)

x1111111 1111xxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx

is an infinity or a nan, and there are only 2 infinities.

Mark



More information about the Python-Dev mailing list