Algorithme de conversion d’un nombre décimal en binaire Python
Dans ce tutoriel, nous allons voire des programmes pour convertir un nombre décimal en un nombre binaire équivalent. Nous verrons deux programmes Python, le premier programme effectue la conversion à l’aide d’une fonction définie par l’utilisateur et dans le deuxième programme, nous utilisons une fonction intégrée qui s’appel bin() pour la conversion décimale vers binaire.
Conversion décimale en binaire en utilisant une fonction récursive
Dans ce programme, nous avons défini une fonction conversion(). Cette fonction prend le nombre décimal en tant que paramètre d’entrée et le convertit en un nombre binaire équivalent.
def conversion(n): if n > 1: conversion(n // 2) print(n % 2, end='') # Demande à l'utilisateur d'entrer un nombre nbr = int(input("Entrez un nombre decimal: ")) conversion(nbr)
Cela produit le résultat suivant:
Entrez un nombre decimal: 9 1001
Conversion décimale en binaire en utilisant la fonction bin()
Dans ce programme, nous utilisons une fonction intégrée qui s’appel bin() pour convertir le nombre décimal en binaire.
# Demande à l'utilisateur d'entrer un nombre nbr = int(input("Entrez un nombre decimal: ")) # Afficher le nombre binaire équivalent print("Nombre binaire equivalent: ", bin(nbr))
Cela produit le résultat suivant:
Entrez un nombre decimal: 9 Nombre binaire equivalent: 0b1001
Bonjour,
Il y a une erreur avec la fonction récursive. C’est plutôt « if n >= 1 » ou alors « if n>0 »
Cordialement.
En fait, le nombre 1 en décimal égale au nombre 1 en binaire, c’est pour cela on vérifie si le nombre entré par l’utilisateur est strictement supérieur à 1.
Pourtant avec n = 9 le résultat est 001 car on s’arrête avant que n soit nul.
C’est bizarre! Lorsque j’exécute le programme chez mois n=9 me donne 1001.
Essayez d’exécuter le code sur ce site : https://www.onlinegdb.com/
Bonjour !
Merci pour ce tutoriel. Dans le premier programme (qui marche très bien), que signifie
end=''
?La fonction print() insère une nouvelle ligne ‘\n’ à la fin, par défaut. Dans Python 2, il peut être supprimé en mettant ‘,’ à la fin. Dans Python 3, (
end =''
) ajoute un espace au lieu d’une nouvelle ligne. Vous pouvez terminer une instruction avec n’importe quel caractère / chaîne à l’aide de ce paramètre (end).Fonctionne très très bien
J’adore perdre mon temps