para - convertir de octal a decimal en python
Convierta decimal a binario en python (8)
Estoy de acuerdo con la respuesta de @ aaronasterling. Sin embargo, si desea una cadena no binaria que pueda convertir en una int, puede usar el algoritmo canónico:
def decToBin(n):
if n==0: return ''''
else:
return decToBin(n/2) + str(n%2)
Esta pregunta ya tiene una respuesta aquí:
- Python int a binario? 24 respuestas
¿Hay algún módulo o función en Python que pueda usar para convertir un número decimal a su equivalente binario? Puedo 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?
Para completar: si desea convertir una representación de punto fijo a su equivalente binario, puede realizar las siguientes operaciones:
Obtenga el entero y la parte fraccionaria.
from decimal import * a = Decimal(3.625) a_split = (int(a//1),a%1)
Convierte la parte fraccional en su representación binaria. Para lograr esto multiplicar sucesivamente por 2.
fr = a_split[1] str(int(fr*2)) + str(int(2*(fr*2)%1)) + ...
Puedes leer la explicación here .
Sin el 0b en frente:
"{0:b}".format(int)
Comenzando con Python 3.6 también puede usar literal de cadena formateado o cadena de caracteres , --- PEP :
f"{int:b}"
También puede usar una función del módulo numpy
from numpy import binary_repr
que también puede manejar ceros a la izquierda:
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.
todos los números se almacenan en binario. si quieres una representación textual de un número dado en binario, usa bin(i)
>>> bin(10)
''0b1010''
>>> 0b1010
10
"{0:#b}".format(my_int)
def dec_to_bin(x):
return int(bin(x)[2:])
Es fácil.
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))