用python写十进制与二进制之间转换

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

⽤python写⼗进制与⼆进制之间转换
很简单的⼀段,当练⼿
def s2e():
e = [0,0,0,0,0,0,0,0]
s = int(input("请输⼊⼀个⼗位数:"))
for i in range(0,8,1):
e[i] = int(s%2)
s=s//2
e.reverse()
print("⼆进制数为:",e)
def e2s():
s=[0,0,0,0,0,0,0,0]
a=0
s=list(input("请输⼊⼀个⼆进制数:"))
s.reverse()
for i in range(0,len(s),1):
if int(s[i]) == 1:
a+=pow(2,i)
print("⼗进制数是:",a)
while 1:
choose = int(input("⼆进制转⼗进制请输⼊1\n⼗进制转⼆进制请输⼊2\n"))
if choose==1:
e2s()
elif choose==2:
s2e()
else:
break
⼆进制输出为数组形式
还有待完善
欢迎⼤家提建议
思路:
⼆进制转⼗进制:
我这⾥⽤的是⼋位⼆进制,从右到左,第⼀位是2的0次⽅,第⼆位是2的1次⽅,以此类推,第8位便是2的7次⽅,所以只要判断位数上的数字是1还是0,因为是从右到左,所以先把数组倒过来,这样数组下标就好算⼀点,例如00000101(数字⼩好算点,嘿嘿);倒过来后便是10100000,此时第0位为1,那么便是2的0次⽅,第2位是1,便是2的2次⽅,所有相加,就得到了⼗进制数
⼗进制转⼆进制:
附上⼀张百度来的图
每次除以2求余,再⽤余数除以2再求余,如此直到最后⼀个数为1,再如图,逆序排列,此时的逆序排列的数便是⼆进制数。

相关文档
最新文档