Y at-il un module ou une fonction en python que je peux utiliser pour convertir un nombre décimal en son équivalent binaire? Je suis capable de convertir binaire en décimal en utilisant int ('[valeur_binaire]', 2), donc toute façon de faire l'inverse sans écrire le code pour le faire moi-même?Convertir décimal en binaire en python
Répondre
tous les nombres sont stockés en binaire. si vous voulez une représentation textuelle d'un nombre donné en binaire, utilisez bin(i)
>>> bin(10)
'0b1010'
>>> 0b1010
10
"{0:#b}".format(my_int)
Voici le format d'impression avec les zéros suivants: '" {0: 08b} ". Format (my_int)' –
Je suis d'accord avec la réponse de @ aaronasterling. Cependant, si vous voulez une chaîne non binaire que vous pouvez jeter dans un entier, vous pouvez utiliser l'algorithme canonique:
def decToBin(n):
if n==0: return ''
else:
return decToBin(n/2) + str(n%2)
'int (bin (10), 2)' cède '10'. 'int (decToBin (10))' donne '101' et' int (decToBin (10), 2) 'renvoie 5. De plus, les limites de récursion de votre fonction touchent' 'from __future__ import division' ou python 3 – aaronasterling
@aaron, le ce dernier point peut être résolu en passant à '//' (division tronquée); le premier, en changeant l'ordre des deux chaînes étant sommé dans le «retour». Non, cette récursion n'a aucun sens ici ('bin (n) [2:]' - ou une boucle 'while' si vous êtes coincé sur une ancienne version de Python - sera beaucoup mieux!). –
C'est génial! il pourrait aller avec le ** lambda ** aussi:] 'binaire = lambda n: '' si n == 0 sinon binaire (n/2) + str (n% 2)' –
def dec_to_bin(x):
return int(bin(x)[2:])
Il est facile.
** - 1 ** - don ' t retourne un int. De plus, 'dec_to_bin (-1)' donne 'ValueError: littéral invalide pour int() avec base 10: 'b1'' – Eric
pouvez-vous expliquer cela [2:]? –
Essayez 'bin (2)'. Vous n'obtenez pas '10'. Vous obtenez '0b10'. Même fosse possible avec 'hex (2)' ('0x2'). Donc vous voulez tous sauf les deux premiers caractères. Donc, vous prenez une tranche qui commence après les deux premiers caractères. – leewz
Vous pouvez également utiliser une fonction à partir du module numpy
from numpy import binary_repr
qui peut aussi manipuler des zéros à gauche:
Definition: binary_repr(num, width=None)
Docstring:
Return the binary representation of the input number as a string.
This is equivalent to using base_repr with base 2, but about 25x
faster.
For negative numbers, if width is not given, a - sign is added to the
front. If width is given, the two's complement of the number is
returned, with respect to that width.
n=int(input('please enter the no. in decimal format: '))
x=n
k=[]
while (n>0):
a=int(float(n%2))
k.append(a)
n=(n-a)/2
k.append(0)
string=""
for j in k[::-1]:
string=string+str(j)
print('The binary no. for %d is %s'%(x, string))
Sans 0b devant:
"{0:b}".format(int)
Depuis Python 3.6, vous pouvez également utiliser formatted string literal or f-string, --- PEP:
f"{int:b}"
J'ai l'erreur suivante: 'TypeError: chaîne de format non vide passée à l'objet .__ format__' –
Par souci d'achèvement: si vous voulez convertir la représentation de point fixe à son équivalent binaire, vous pouvez effectuer les opérations suivantes:
Obtenez le nombre entier et partie fractionnaire.
from decimal import * a = Decimal(3.625) a_split = (int(a//1),a%1)
Convertir la partie fractionnaire dans sa représentation binaire. Pour ce faire multiplier successivement par 2.
fr = a_split[1] str(int(fr*2)) + str(int(2*(fr*2)%1)) + ...
Vous pouvez lire l'explication here.
- 1. comment convertir décimal en binaire en C++
- 2. C# tableau binaire en décimal?
- 3. python: comment convertir une devise en décimal?
- 4. Convertir décimal en ASCII
- 5. Java - Convertir booléen [] en décimal
- 6. convertir un tableau décimal (str) en tableau binaire (octets)
- 7. Comment convertir un nombre décimal en binaire et vice versa
- 8. Décimal en binaire (et vice-versa)
- 9. Convertir un script python en exécutable binaire
- 10. Convertir une chaîne en entier avec décimal en Python
- 11. Conversion d'un nombre décimal en binaire
- 12. convertir décimal? en primitive decimal
- 13. Comment convertir un champ COMP en décimal?
- 14. Convertir l'image en binaire?
- 15. convertir le nombre en décimal en php
- 16. convertir décimal en int en C#
- 17. Question sur la conversion décimal en binaire en hexadécimal
- 18. tableau binaire en python
- 19. convertir un octet en binaire
- 20. Convertir hexadécimal en binaire C++
- 21. Convertir un nombre en chaîne binaire
- 22. Comment convertir un octet en décimal?
- 23. convertir Tableau décimal en tableau double
- 24. Convertir float en décimal dans Informix
- 25. Conversion de décimal en binaire et impression dans MIPS
- 26. Comment convertir un nombre décimal en nombre flottant binaire 64 bits?
- 27. Comment puis-je convertir un nombre entier de décimal en binaire
- 28. Comment convertir minutes de deuxième degré en décimal en java
- 29. Comment convertir un hex en décimal en utilisant VB.NET?
- 30. Convertir la devise en décimal en PHP et JavaScript
Ni «décimal» ni «binaire» ne signifie ce que vous pensez que cela signifie. –