python16进制转10进制_使用Python 16进制转10进制

"""16进制转10进制"""

#str="A5 42 D2 00 4A 00 01 00 01 F4 00 32 00 32 00 50 01 0C 00 01 00 01 F4 00 32 00 32 00 50 01 01 00 01 00 01 F4 01 F4 01 F4 01 F4 01 F4 00 32 00 32 00 32 00 32 00 32 00 32 00 32 00 32 00 32 00 32 00 50 01 00 00 01 F4 00 32 00 32 50 00 00 00 D2 41 5A "

str=""with open("bitChange",mode="r",encoding="UTF-8") as f: #从文件里读数据

str=f.read()

lst=str.split(" ")#根据空格切割

lst=lst[5:len(lst)-4]#根据自己实际情况来做,我这里是根据我这边的通讯协议格式来的

dic={}

count=0for c inlst:

dic[count]=c

count+=1

print(dic)print(lst)#16进制转10进制

new_Lst=[]#得到需要的16进制

starW= int(input("请输入起始位置:"))-1lenW=int(input("请输入长度:"))

new_Lst=lst[starW:lenW+starW]

new_Str="".join(new_Lst)print("16进制:{}".format(" ".join(new_Lst)))

new_Str=new_Str[::-1]

resoult={}

resoultCount=0

strs=""

while resoultCount

resoult[resoultCount]=15

elif new_Str[resoultCount]=="E":

resoult[resoultCount]= 14

elif new_Str[resoultCount] == "D":

resoult[resoultCount]= 13

elif new_Str[resoultCount] == "C":

resoult[resoultCount]= 12

elif new_Str[resoultCount] == "B":

resoult[resoultCount]= 11

elif new_Str[resoultCount] == "A":

resoult[resoultCount]= 10

else:

resoult[resoultCount]=new_Str[resoultCount]

resoultCount+=1sum=0for k,v inresoult.items():

sum+=int(v)*16**kprint("10进制:{}".format(sum))

进制之间的转换可以访问https://www.cnblogs.com/sl372/p/10825885.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值