¿Hay algún módulo o función en python que pueda usar para convertir un número decimal en su equivalente binario? Soy capaz de convertir binario a decimal usando int ('[binary_value]', 2), entonces ¿hay alguna manera de hacer lo contrario sin escribir el código para hacerlo yo mismo?Convertir decimal a binario en python
Respuesta
todos los números se almacenan en binario. si desea una representación textual de un número dado en binario, utilice bin(i)
>>> bin(10)
'0b1010'
>>> 0b1010
10
"{0:#b}".format(my_int)
Aquí está el formato para imprimir con ceros a la izquierda: '" {0: 08b} ". Format (my_int)' –
Estoy de acuerdo con la respuesta de @ aaronasterling. Sin embargo, si quieres una cadena no binaria que se puede echar en un int, entonces se puede utilizar el algoritmo canónica:
def decToBin(n):
if n==0: return ''
else:
return decToBin(n/2) + str(n%2)
'int (bin (10), 2)' produce '10'. 'int (decToBin (10))' produce '101' y' int (decToBin (10), 2) 'produce 5. Además, su función acierta los límites de recursión con' from __future__ import division' o python 3 – aaronasterling
@aaron, the este último punto se puede resolver cambiando a '//' (división truncada); el primero, al cambiar el orden de las dos cadenas que se suman en el 'retorno'. No es que la recursividad tenga sentido aquí de todos modos ('bin (n) [2:]' - o un bucle 'while' si estás atrapado en alguna versión anterior de Python - ¡será muchísimo mejor!). –
¡Esto es asombroso! también podría ir con ** lambda **:] 'binary = lambda n: '' si n == 0 else binario (n/2) + str (n% 2)' –
def dec_to_bin(x):
return int(bin(x)[2:])
Es así de fácil.
** - 1 ** - don ' t devolver un int. Además, 'dec_to_bin (-1)' da 'ValueError: literal inválido para int() con base 10: 'b1'' – Eric
¿Puedes explicar eso [2:]? –
Pruebe 'bin (2)'. Usted no obtiene '10'. Obtienes '0b10'. El mismo pozo posible con 'hex (2)' ('0x2'). Entonces quieres todos menos los primeros dos personajes. Entonces tomas una porción que comienza después de los dos primeros caracteres. – leewz
También puede utilizar una función del módulo numpy
from numpy import binary_repr
que también puede manejar los ceros iniciales:
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))
Sin la 0b delante:
"{0:b}".format(int)
Comenzando con Python 3.6 también puedes usar formatted string literal or f-string, --- PEP:
f"{int:b}"
Recibí el siguiente error: 'TypeError: string de formato no vacío pasado al objeto .__ format__' –
En aras de finalización: si desea convertir la representación de punto fijo a su equivalente binario se pueden realizar las siguientes operaciones:
obtener el número entero y parte fraccional.
from decimal import * a = Decimal(3.625) a_split = (int(a//1),a%1)
Convierta la parte fraccionaria en su representación binaria. Para lograr esto se multiplica sucesivamente por 2.
fr = a_split[1] str(int(fr*2)) + str(int(2*(fr*2)%1)) + ...
Usted puede leer la explicación here.
- 1. Convertir decimal a binario Vector
- 2. convertir exponencial a decimal en Python
- 3. Cómo convertir el binario al decimal
- 4. python: cómo convertir moneda a decimal?
- 5. Python, cómo decodificar decimal codificado en binario (BCD)
- 6. ¿Cómo puedo convertir el decimal? a decimal
- 7. ¿Convertir imagen a binario?
- 8. Decodificar decimal codificado en binario (BCD) a entero sin signo
- 9. Convertir cadena de dirección IP a binario en Python
- 10. C# Convertir objeto a Decimal
- 11. Python Convierte fracción a decimal
- 12. Convertir marca decimal
- 13. Decimal aleatorio en python
- 14. Convertir archivo PHP a binario
- 15. Convertir cadena a número decimal en ruby
- 16. Convertir hexadecimal a binario en MySQL
- 17. Forma rápida de convertir un número binario a un número decimal
- 18. ¿No se puede convertir implícitamente el tipo 'decimal?' a 'decimal'.
- 19. De decimal a hexadecimal en python
- 20. para comparar el doble y el decimal ¿Debería convertir doble a decimal o decimal a doble?
- 21. De decimal de Python a la cadena
- 22. Python convierte decimal a hexadecimal
- 23. Convertir cadena a decimal con formato
- 24. Convertir decimal a hexadecimal con Erlang?
- 25. convertir matriz decimal a matriz doble
- 26. grados convertir/minutos/segundos a decimal Coordenadas
- 27. C# Convertir cadena decimal a Int
- 28. Convertir en base 2 cuerdas número binario a int
- 29. ¿Cómo convierto hexadecimal a decimal en Python?
- 30. cómo convertir un char a binario?
Ni "decimal" ni "binario" significa lo que usted piensa que significa. –