Hola, hace poco me puse con python y he hecho un programita que pasa numeros binarios a decimal.
def a_Entero(x):
print "Este es el numero en binario int", x
x = str(x)
exp = len(x) - 1
print "Este es el numero en binario string", x
print "Este es su tamaño menos uno", exp
Decimal = 0
for i in x:
Decimal += (int(i) * 2**(exp))
exp-=1
print "el exponente", exp
return Decimal
while True:
x = str(input("escribe el numero en binario:\n"))
print a_Entero(x)
He aqui una salida:
escribe el numero en binario:
0101010101
Este es el numero en binario int 17043521
Este es el numero en binario string 17043521
Este es su tamaño menos uno 7
el exponente 6
el exponente 5
el exponente 4
el exponente 3
el exponente 2
el exponente 1
el exponente 0
el exponente -1
689
fijaos en la tercera línea, porque el número no es el mismo que se ha escrito por pantalla?
Si veis alguna mala praxis no dudeis en decirmelo.
Gracias!
Estás usando Python 2, así que los números que comeinzan por 0 están en octal.
(octal) 101010101 == (decimal) 17043521
Cierto, era eso.
Muchas gracias :laugh: ;D