Afin de convertir un entier en binaire, j'ai utilisé ce code :
>>> bin(6)
'0b110'
et quand il faut effacer le '0b', j'utilise ceci :
>>> bin(6)[2:]
'110'
Que puis-je faire si je veux montrer 6
como 00000110
au lieu de 110
?
Afin de convertir un entier en binaire, j'ai utilisé ce code :
>>> bin(6)
'0b110'
et quand il faut effacer le '0b', j'utilise ceci :
>>> bin(6)[2:]
'110'
Que puis-je faire si je veux montrer 6
como 00000110
au lieu de 110
?
>>> '{0:08b}'.format(6)
'00000110'
Juste pour expliquer les parties de la chaîne de formatage :
{}
place une variable dans une chaîne de caractères0
prend la variable à la position 0 de l'argument:
ajoute des options de formatage pour cette variable (sinon, elle représenterait les décimales). 6
)08
formate le nombre à huit chiffres avec un décalage de zéro sur la gauche.b
convertit le nombre en sa représentation binaireSi vous utilisez une version de Python 3.6 ou supérieure, vous pouvez également utiliser les chaînes de caractères f-strings :
>>> f'{6:08b}'
'00000110'
Le premier 0
signifie que 0th
argument pour format
. Après les deux points se trouve le formatage, le deuxième 0
signifie remplissage zéro à 8 espaces et b
pour les binaires
Cela peut être simplifié avec le format()
fonction : format(6, '08b')
; la fonction prend une valeur (ce que le {..}
s'applique) et une spécification de formatage (ce que vous mettrez après l'élément :
dans la chaîne de formatage).
Une autre idée :
>>> bin(6)[2:].zfill(8)
'00000110'
Chemin plus court via interpolation de chaînes de caractères ( Python 3.6 et plus ) :
>>> f'{6:08b}'
'00000110'
Notez que cette solution est plus rapide que celui accepté . La solution la plus claire (ou, si j'ose dire, la plus pythique) est probablement une question de goût personnel.
Je suis encore en train d'apprendre l'essence de la pythonicité, mais celle-ci est clairement beaucoup plus polyvalente. J'étais initialement excité de voir la solution acceptée avec son explication élégante, mais alarmé par le fait que l'objet appelé pour exécuter les méthodes était écrit comme une chaîne unique avec toutes les spécifications intégrées, éliminant l'implication des variables dans des choses telles que la longueur désirée de la chaîne de bits. Cette solution résout complètement ce problème et est si intuitive (du moins pour Python 2) qu'il n'est pas nécessaire d'expliquer chaque caractère !
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Duplicata possible de Python int vers binaire ?