Sagot :
Réponse :
def bin_dec(binaire): #binaire est donc une chaine de caractère
c = 0
chiffre_decimal = 0
for k in range(0, len(binaire)): #on parcours tout les caractères de la chaine
poids_binaire = 2 **C # ton poid pour chaque bit
c += 1
poids_ = poids_binaire * int(binaire[k]) #le poids de ton bits * 1 ou 0 (valeur de ton bits)
chiffre_decimal += poids_
return chiffre_decimal
def dec_bin(decimal):
listebinaire = []
while decimal > 1:
res_div = int(decimal / 2) # on calcule le prochain terme à diviser
reste = decimal - 2*res_div # on calcule le reste de la division d'eucli
listebinaire.append(reste) # on ajoute à la findela liste le reste (0 ou 1)
listebinaire.reversed() # pour retourner ta liste
return listebinaire # j'ai utilisé une liste mais tu peux le faire avec une chaine de caractère, fais attention de bien lire à l'envers, on part du dernier reste trouvé et on remonte
def choix(base):
choisir = str(input('que voulez vous convertir ? Decimal : D ou Binaire : B'))
if choisir == 'D':
res = dec_bin(base)
if choisir == 'B':
res = bin_dec(base)
return res
Explications :
Tu feras attention, quelqu'un d'autre a demandé exactement la même chose donc j'imagine qu'il est dans ta classe, évitez de rendre le même algo, vous allez vous faire prendre ; )