How on Factorial

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Fri Oct 29 05:27:34 EDT 2010


On Thu, 28 Oct 2010 10:13:15 -0400, Dave Angel wrote:

> Inverting the bits of a floating point number wouldn't make much sense,
> so fortunately it gives an error.

>>> from struct import pack, unpack
>>>
>>> def float_as_int(x):
...     bits = pack("d", x)
...     return unpack("q", bits)[0]
...
>>> def int_as_float(i):
...     bits = pack("q", i)
...     return unpack("d", bits)[0]
...
>>>
>>> float_as_int(1.123)
4607736361554183979
>>> int_as_float(~4607736361554183979)
-3.7539999999999996
>>>
>>> int_as_float( ~float_as_int(0.0) )
nan



Makes perfect sense to me :)



-- 
Steven



More information about the Python-list mailing list