Laurentvidal.fr simplifie votre recherche de solutions aux questions quotidiennes et complexes avec l'aide de notre communauté. Posez vos questions et recevez des réponses détaillées de professionnels ayant une vaste expérience dans divers domaines. Découvrez une mine de connaissances de professionnels dans différentes disciplines sur notre plateforme conviviale de questions-réponses.

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

Nous apprécions votre temps. Revenez quand vous voulez pour les informations les plus récentes et des réponses à vos questions. Nous espérons que cela vous a été utile. Revenez quand vous voulez pour obtenir des réponses plus précises et des informations à jour. Merci d'utiliser Laurentvidal.fr. Revenez pour obtenir plus de connaissances de nos experts.