1.十进制转换为二进制
递归:
def int2bin(n):
if n==1:
return '1'
elif n==0:
return '0'
else:
return int2bin(n//2)+str(n%2)
print(int2bin(110))
非递归:
num=int(input('请输入一个数字:'))
result=[]
while num>0:
num,remainder=divmod(num,2)
result.append(remainder)
print(num,remainder)
print(result)
print(''.join(list(map(str,result[::-1]))))
2.二进制转换为十进制
非递归:
num=1100100
result=0 #存储每一位计算出来的值
num=str(num)[::-1] #把数字转换为字符串
for i in range(len(num)):
result+=int(num[i])*(2**i) #pow(2,i)
print(result)
python练习2020/07/21
最新推荐文章于 2024-10-05 08:57:27 发布