计算机三级里面第一个大题考进制转换,不想算,写个可以转化进制的代码
n=eval(input("0-255以内十进制转8位数二进制:"))
#n=555
nn=bin(n)#10转2
nn=nn[2:]#切片
bu=8-len(nn)#补零
nn=bu*'0'+nn
print(nn,'==',n)
添加一个while循环让他一直跑:
n=eval(input("0-255以内十进制转8位数二进制:"))
#n=555
while n<=256 and n>0:
nn = bin(n) # 10转2
nn = nn[2:] # 切片
bu = 8 - len(nn) # 补零
nn = bu * '0' + nn
print(nn, '==', n)
n = eval(input("0-255以内十进制转8位数二进制:"))
可视化操作:
n = eval(input("0-255以内十进制转8位数二进制:"))
# n=555
while n <= 256 and n > 0:
nn = bin(n) # 10转2
nn = nn[2:] # 切片
bu = 8 - len(nn) # 补零
nn = bu * '0' + nn
k = 7
for i in nn:
if i == '0':
k -= 1
pass
else:
if k == 0:
print(f"2^{k}=", end='')
k -= 1
else:
print(f"2^{k}+", end='')
k -= 1
print(nn, '==', n)
n = eval(input("0-255以内十进制转8位数二进制:"))
代码效果: