[code] convertir IEEE 754 32bit
Voici un code pour convertir un nombre en IEEE 754 32 bit en décimal, ça peut toujours servir:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| def bin(n):
"""Convertit un nombre en binaire"""
res = ''
while n != 0: n, res = n >> 1, `n & 1` + res
return res
nb=input("nb a convertir? ")
nb=bin(int(nb,16)).replace('L','')
while len(nb)<32:
nb="0"+str(nb)
sign=(int(str(nb)[0])*2-1)*-1
exp=int(str(nb)[1:9],2)-127
nb="1"+str(nb)[9:]
result=0
for n in nb:
result=result+int(n)*2**exp
exp-=1
result*=sign
print result |