Pouknouki

DM Python

Oct 8th, 2015
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.35 KB | None | 0 0
  1. #Conversion binaire => decimal
  2. def conversionDecimal(tableau):
  3.     #7 6 5 4 3 2 1 0
  4.     nombre = 0
  5.     for i in range(0, len(tableau)):
  6.         if i == 0:
  7.             nombre -= tableau[i] * 2 ** (len(tableau) - 1)
  8.         else:
  9.             nombre += tableau[i] * 2 ** (len(tableau) - i - 1)
  10.     return nombre
  11.  
  12. #Conversion decimal => binaire
  13. def conversionBinaire(nombre):
  14.     #nombre = -55
  15.     tableau = [0, 0, 0, 0, 0, 0, 0, 0]
  16.     #Pour trouver le nombre en binaire, on utilise la formule du complement a 2
  17.  
  18.     #Conversion du nombre vers sa valeur absolue en binaire
  19.     sauvegardeNombre = nombre
  20.     nombre = abs(nombre)
  21.     reste = 0
  22.     iterateur = 0
  23.     while nombre != 0:
  24.         tableau[len(tableau) - iterateur - 1] = nombre % 2
  25.         iterateur += 1
  26.         nombre = nombre // 2
  27.  
  28.     if sauvegardeNombre < 0:
  29.         #Calcul du complement
  30.         for i in range(0, len(tableau)):
  31.             tableau[i] = int(tableau[i] == 0)
  32.  
  33.         #Addition de 1
  34.         for i in range(0, len(tableau)):
  35.             if tableau[len(tableau) - 1 - i] == 0:
  36.                 tableau[len(tableau) - 1 - i] = 1
  37.                 break
  38.             else:
  39.                 tableau[len(tableau) - 1 - i] = 0
  40.  
  41.     return tableau
  42.  
  43. print(conversionBinaire(55))
  44. print(conversionDecimal([0,1,0,0,0,0,0,0]))
  45. print(conversionDecimal(conversionBinaire(55)))
Advertisement
Add Comment
Please, Sign In to add comment