__author__ = 'chunk' import struct def float2bits(f, fmt='bin'): if fmt == 'hex': return hex(struct.unpack('!l', struct.pack('!f', f))[0]) return bin(struct.unpack('!l', struct.pack('!f', f))[0]) def double2bits(d, fmt='bin'): if fmt == 'hex': return hex(struct.unpack('!q', struct.pack('!d', d))[0]) return bin(struct.unpack('!q', struct.pack('!d', d))[0]) def float2bin(num): # http://stackoverflow.com/questions/16444726/binary-representation-of-float-in-python-bits-not-hex bits = [bin(ord(c)).replace('0b', '').rjust(8, '0') for c in struct.pack('!f', num)] print bits return ''.join(bits) def double2bin(num): # http://stackoverflow.com/questions/16444726/binary-representation-of-float-in-python-bits-not-hex bits = [bin(ord(c)).replace('0b', '').rjust(8, '0') for c in struct.pack('!d', num)] print bits return ''.join(bits) def infiniteseries(): s = 0 tmp = -1 i = 0 while float(s) != float(tmp): i += 1 tmp = s s += float(1.0 / i) print tmp,s print i, s, tmp if __name__ == '__main__': print float2bin(1.0) infiniteseries() pass