import math def strfhex(s): m,e = s.split("p") return int(m,16)*2.0**int(e,16) def fhex(f): m,e = math.frexp(f) BITS = 54 mi = int(m*2**BITS) e = e - BITS while mi & 1 == 0: e += 1 mi = mi >> 1 return hex(mi)+"p"+hex(e)