On Mon, Mar 23, 2009 at 2:44 AM, valpa wrote: > I have a python float 1.2345678. I know that it is stored as a double > in C type. And I know it actually is 1010101010101 -like format. Then > I want to do some bit operation on it. How? > > Sure, I want a float output when I finish the operation.
Just for fun: >>> import ctypes >>> def cast(value, to_type): ... return ctypes.cast(ctypes.pointer(value), ctypes.POINTER(to_type))[0] ... >>> def float_to_int(x): ... return cast(ctypes.c_double(x), ctypes.c_uint64) ... >>> def int_to_float(x): ... return cast(ctypes.c_uint64(x), ctypes.c_double) ... >>> float_to_int(5) 4617315517961601024 >>> bin(float_to_int(5)) '0b100000000010100000000000000000000000000000000000000000000000000' >>> int_to_float(float_to_int(5) & float_to_int(10)) 2.5 -Miles -- http://mail.python.org/mailman/listinfo/python-list