Informatique

Question

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

1 Réponse

  • 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

Autres questions