Bonjour quelqu'un peut m'aider svp j'ai 2 programmes a faire en Python les voici : une fonction binaire(n) qui renvoie l’écriture en binaire du nombre n décimal
Question
une fonction binaire(n) qui renvoie l’écriture en binaire du nombre n décimal (= écrit en base 10)
une fonction decimal(b) qui renvoie le nombre en base 10 converti depuis le nombre b écrit en binaire.
merci d'avance.
1 Réponse
-
1. Réponse LilianBND
Réponse :
def decimalToBinary(decimalNumber):
binaryNumber = []
events = []
while decimalNumber != 0:
binaryNumber.append(decimalNumber % 2)
decimalNumber = int(decimalNumber / 2)
events.append((decimalNumber, "/2"))
events.append(tuple(reversed(binaryNumber)))
return events
def binaryToDecimal(binaryNumberDefault):
binaryNumber = tuple(int(c) for c in reversed(str(binaryNumberDefault)))
decimalNumber = 0
events = []
for i in range(0, len(binaryNumber)):
if binaryNumber[i] != 0:
decimalNumber += 2**i
events.append("ans + 2**" + str(i) + "=" + str(decimalNumber))
events.append(str(binaryNumberDefault) + "=" + str(decimalNumber))
return events
Explications :
Chacune des deux fonctions retourne un tableau contenant les étapes de conversion, le dernier élément du tableau est le résultat de conversion.