Voici un code pour convertir un nombre en IEEE 754 32 bit en décimal, ça peut toujours servir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager