任何人都可以请教我如何使用此算法编写程序? 要将二进制整数转换为十进制,请从左侧开始。获取当前总数,将其乘以2并添加当前数字。继续,直到没有剩余数字。
首先需要输入二进制数字作为字符串,然后逐个选择二进制数字
num=input("Enter the binary integer Number: ")
num=str(num)
decimal=''
rem=0
i=0
i=int(i)
dig=num[i]
dig=int(dig)
rem=(rem*2)+dig
i=i+1
dig=num[i]
dig=int(dig)
rem=(rem*2)+dig
i=i+1
dig=num[i]
dig=int(dig)
rem=(rem*2)+dig
i=i+1
dig=num[i]
dig=int(dig)
rem=(rem*2)+dig
i=i+1
decimal=int(rem)
print(decimal)
此代码仅计算4位二进制数。如何在此代码中添加while循环?
答案 0 :(得分:1)
是的,你可以把它放在循环中:
binary = input("Enter the binary integer Number: ")
decimal = 0
for dig in binary:
decimal = decimal*2 + int(dig)
print(decimal)
请注意,在Python 3中,input
已经返回了字符串类型值,因此您不需要使用str()
进行转换。
答案 1 :(得分:0)
您可以使用int()
功能:
binary_string = input('Please input a binary number: ')
print(int(binary_string, 2))
单线,只是因为它是可能的:
print(int(input('Please input a binary number: '), 2))
但如果你真的想用循环来做这件事,你可以这样做:
binary_string = input('Please input a binary number: ')
result = 0
multiplier = 1
for digit in binary_string[::-1]:
result += int(digit) * multiplier
multiplier *= 2
print(result)