Bonjour j'ai besoin d'aide pour mon devoir au plus vite svp. Merci en avance Ecrire un programme qui permet de convertir au choix un nombre décimal vers un nomb
Question
Merci en avance
Ecrire un programme qui permet de convertir au choix un nombre décimal vers un nombre binaire et inversement
Pour cela écrire 3 fonctions :
def bin_dec(binaire):
"""
Convertit un nombre binaire en nombre décimal
"""
return (decimal )
def dec_bin(decimal):
"""
Convertit un nombre decimal en nombre binaire
"""
return (binaire)
def choix(base)
"""
permet de choisir le type de conversion
"""
return
1 Réponse
-
1. Réponse lucascongras
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