an API that I cannot influence is saving certain floating point numbers as contiguousarray with 64 bit, so that a value of -0.30273306 is saved as -4624246862885421056.
Now how can I retrieve the original value from this large integer?
You can use struct module. Firstly we pack i as long long (8 bytes signed integer). Then we unpack it as double (8-byte floating point number).
import struct
i = -4624246862885421056
f = struct.unpack("d", struct.pack("q", i))