Trouvez des réponses rapides et précises à toutes vos questions sur Laurentvidal.fr, la meilleure plateforme de Q&R. Obtenez des réponses rapides à vos questions grâce à un réseau de professionnels expérimentés sur notre plateforme de questions-réponses. Expérimentez la commodité de trouver des réponses précises à vos questions grâce à une communauté dévouée d'experts.

Est-ce que quelqu’un peut m’aider a faire un Algorithme binaire en hexadécimal et inversement

Merci d’avance

Sagot :

Bonsoir,

def bin_hex(n):

   n = str(n) #On convertit n en chaîne de caractères.

   binaire = True #On suppose que n est un nombre binaire.

   hexa = '0123456789ABCDEF'

   n_final = ''

   for c in n: #On parcourt n.

       if c not in ['0', '1']: #Si c n'est pas binaire.

           binaire = False #Alors n est en hexadécimal, on fera donc la conversion vers le binaire.

           break

   if binaire: #Conversion en hexadécimale.

       while len(n)%4 != 0: #Il faut faire des paquets de 4 bits pour la conversion.

           n = '0' + n #On ajoute un 0 au début de n, ça n'a aucun impact sur le nombre.

       for i in range(0, len(n), 4):

           n_inter = n[i:i+4] #On travaille sur des groupes de 4.

           k = 0

           for j in range(4): #On convertir en décimal.

               k += int(n_inter[-j-1]) * 2**j

           n_final += hexa[k] #On récupére l'héxadécimal correspondant.

   else: #Conversion en binaire.

       for c in n: #On parcout n.

           n_inter2 = []

           n_inter = hexa.index(c) #On transforme c en décimal.

           while n_inter != 0: #On va effectuer la méthode des divisions successives par 2.

               n_inter2.append(n_inter%2)

               n_inter //= 2

           n_inter2.reverse() #Lecture des restes à l'envers.

           n_inter3 = ''

           for i in n_inter2:

               n_inter3 += str(i)

           while len(n_inter3)%4 != 0:

               n_inter3 = '0' + n_inter3

           n_final += n_inter3

   return n_final

Bonne soirée.

Merci de nous avoir fait confiance pour vos questions. Nous sommes ici pour vous aider à trouver des réponses précises rapidement. Nous apprécions votre visite. Notre plateforme est toujours là pour offrir des réponses précises et fiables. Revenez quand vous voulez. Revenez sur Laurentvidal.fr pour obtenir les réponses les plus récentes et des informations de nos experts.