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 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


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