Bonsoir a vous mes futur sauveurs
Pouvez m'aidez a réussir cette exercice qui est a faire pour demain (14/12/21), merci d'avance pour cette aide qui me sera précieuse.

Voici l'exercice a réaliser:

Ecrire un programme qui permet de convertir au choix un nombre binaire vers un nombre décimal et inversement, et écrire un programme qui demande a l'utilisateur de choisir l'un des deux programme.

Merci d'avance


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