Advertisement
Guzzox

Convertions functions Guzz0x

Nov 13th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.85 KB | None | 0 0
  1. #convertir entier en binaire
  2. def dec_to_binary(number):
  3.     quotient = number
  4.     bin_list=[] #déclare la liste qui contiendra le nombre en binaire
  5.     while quotient != 0:
  6.         reste = quotient % 2 # récupère le reste de la division euclidienne
  7.         quotient = quotient // 2 #récupère le quotient de la division euclidienne
  8.         bin_list.append(reste) # on ajoute le reste dans le tableau
  9.     return bin_list
  10.  
  11. #decimal to binaire sans utiliser de liste
  12. def dec_to_binary_str(number):
  13.     quotient = int(number)
  14.     bin_str = ""
  15.     while quotient!= 0:
  16.         reste = quotient %2
  17.         quotient = quotient//2
  18.         bin_str = str(reste) + bin_str
  19.     return bin_str
  20.  
  21. #convertir entier en hexa decimal
  22. def dec_to_hexa_str(number):
  23.     quotient = number
  24.     hex_list="" #déclare la liste qui contiendra le nombre en hexa
  25.     switch = {
  26.         0: "0",
  27.         1: "1",
  28.         2: "2",
  29.         3: "3",
  30.         4: "4",
  31.         5: "5",
  32.         6: "6",
  33.         7: "7",
  34.         8: "8",
  35.         9: "9",
  36.         10: "A",
  37.         11: "B",
  38.         12: "C",
  39.         13: "D",
  40.         14: "E",
  41.         15: "F"
  42.     }
  43.     while quotient != 0:
  44.         reste = quotient % 16 # récupère le reste de la division euclidienne
  45.         quotient = quotient // 16 #récupère le quotient de la division euclidienne
  46.  
  47.         hex_list = str(switch.get(reste))+ hex_list # on récupère la valeure égale au bon nombre
  48.     return hex_list
  49.  
  50.  
  51. #convertir entier en hexa decimal
  52. def dec_to_hexa(number):
  53.     quotient = number
  54.     hex_list=[] #déclare la liste qui contiendra le nombre en hexa
  55.     switch = {
  56.         0: "0",
  57.         1: "1",
  58.         2: "2",
  59.         3: "3",
  60.         4: "4",
  61.         5: "5",
  62.         6: "6",
  63.         7: "7",
  64.         8: "8",
  65.         9: "9",
  66.         10: "A",
  67.         11: "B",
  68.         12: "C",
  69.         13: "D",
  70.         14: "E",
  71.         15: "F"
  72.     }
  73.     while quotient != 0:
  74.         reste = quotient % 16 # récupère le reste de la division euclidienne
  75.         quotient = quotient // 16 #récupère le quotient de la division euclidienne
  76.  
  77.         hex_list.append(switch.get(reste)) # on récupère la valeure égale au bon nombre
  78.     return hex_list
  79.  
  80.  
  81. def binary_to_dec(binary):
  82.     decimal, puissance = 0,0 # définie les variables decimal et puissance à 0
  83.     while binary>0:
  84.         reste = binary%10
  85.         decimal += 2 **puissance * (reste) # 1 * 2^n
  86.         binary = binary//10 # je divise le binaire par 10
  87.         puissance+=1 # j'ajoute 1 pour passer au prochain rang
  88.     return decimal
  89.  
  90. def hexa_to_dec(hex):
  91.     hex=hex[::-1].upper()
  92.     calcul=0
  93.     switch = {"0": 0,"1": 1,"2": 2,"3": 3,"4": 4,"5": 5,"6": 6,"7": 7,"8": 8,"9": 9,"A": 10,"B": 11,"C": 12,"D": 13,"E": 14,"F": 15}
  94.     for i in range(len(hex)):
  95.         calcul += switch.get(hex[i]) * (16**i)  
  96.        
  97.     return calcul
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement