Aller au contenu

Conversion d'entiers en base 10 vers la base 2⚓︎

Pour rappel, la conversion d'un nombre entier positif en binaire peut s'effectuer à l'aide des divisions successives comme illustré ici :

image

Compléter la fonction binaire basée sur la méthode des divisions successives permettant de convertir un nombre entier positif en binaire.

Le tableau BITS permet d'obtenir la chaîne de caractères correspondant à un bit à partir de sa valeur.

Exemples

🐍 Console Python
>>> BITS[0]
'0'
>>> BITS[1]
'1'
🐍 Console Python
>>> binaire(0)
'0'
>>> binaire(1)
'1'
>>> binaire(16)
'10000'
>>> binaire(77)
'1001101'
# testsbksl-nlbksl-nlassert binaire(0) == '0'bksl-nlassert binaire(1) == '1'bksl-nlassert binaire(16) == '10000'bksl-nlassert binaire(77) == '1001101'bksl-nlbksl-nl# autres testsbksl-nlbksl-nlassert binaire(999) == '1111100111'bksl-nlassert binaire(1234567890) == '1001001100101100000001011010010'bksl-nlassert binaire(4) == '100'bksl-nlassert binaire(256) == '100000000'bksl-nlassert binaire(255) == '11111111'bksl-nlbksl-nl ∞/∞

BITS = ['0', '1']bksl-nlbksl-nldef binaire(nombre):bksl-nl nombrepy-undbinaire = BITS[...]bksl-nl nombre = nombre // 2bksl-nl while ...:bksl-nl nombrepy-undbinaire = ...[nombre%2] + ...bksl-nl nombre = ...bksl-nl return nombrepy-undbinairebksl-nlbksl-nl# testsbksl-nlbksl-nlassert binaire(0) == '0'bksl-nlassert binaire(1) == '1'bksl-nlassert binaire(16) == '10000'bksl-nlassert binaire(77) == '1001101'bksl-nlbksl-nlBITS = ['0', '1']bksl-nlbksl-nldef binaire(nombre):bksl-nl nombrepy-undbinaire = BITS[nombre%2]bksl-nl nombre = nombre // 2bksl-nl while nombre > 0:bksl-nl nombrepy-undbinaire = BITS[nombre%2] + nombrepy-undbinairebksl-nl nombre = nombre // 2bksl-nl return nombrepy-undbinairebksl-nlbksl-nl# testsbksl-nlbksl-nlassert binaire(0) == '0'bksl-nlassert binaire(1) == '1'bksl-nlassert binaire(16) == '10000'bksl-nlassert binaire(77) == '1001101'bksl-nlbksl-nl

A

Commentaire⚓︎

autre façon de faire⚓︎

🐍 Script Python
def binaire(nombre):
    nombre_binaire = ""
    while nombre > 1:
        nombre_binaire = str(nombre%2) + nombre_binaire
        nombre = nombre // 2
    nombre_binaire = str(nombre) + nombre_binaire
    return nombre_binaire

Z

Retour en haut de la page