1. 主页 > 社会焦点

十六进制转十进制怎么换算(十六进制与十进制的相互转换公式)

十进制主要运用于日常生活当中,而八进制主要运用于电子技术行业,是为了配合二进制而使用的,二进制是机器能够识别的最直接语言,但是二进制位数太多,不方便记录,所以一般把二进制转化为八进制或十六进制。

在这篇文章中,我们将用Python语言编写十六进制和十进制相互转换的程序。

十进制转换为十六进制

方法1:迭代方法进行转换

将十进制转换为十六进制的传统方法是将其除以16,取余数,直到商等于零。要将余数转换为十六进制形式,可以定义字典作为转换对照表。

方法2:递归方法进行转换

设计思想与迭代算法类似

方法3:使用hex()进行转换

hex()函数是Python3的内置函数之一,用于将整数转换为十六进制形式。
>>> hex(123)
'0x7b'

十六进制转换为十进制

方法1:使用字典进行转换

方法2:使用while循环进行转换

方法3:使用int()进行转换

int() 方法的语法:
int(x, base=10)
参数:x -- 字符串或数字。base -- 进制数,默认十进制。
>>> int('7B',16)
123
文中涉及代码:

h=input("请输入十六进制数:")c=d=i=0size=len(h)-1while size>=0:    if h[size]>='0' and h[size]<='9':        y=int(h[size])    elif h[size]>='A' and h[size]<='F':        y=ord(h[size])-55    elif h[size]>='a' and h[size]<='f':        y=ord(h[size])-87    else:        c=1        break    d=d+(y*(16**i))    size=size-1    i=i+1print(f"十进制:{d}")table={'0':0,'1':1,'2':2,'3':3,'4':4,       '5':5,'6':6,'7':7,'8':8,'9':9,       'A':10,'B':11,'C':12,'D':13,       'E':14,'F':15}h=input("请输入十六进制数:").strip().upper()d=0size=len(h)-1for num in h:    d=d+table[num]*16**size    size=size-1print(f"十进制:{d}")table={0:'0', 1:'1',2:'2',3:'3',       4:'4',5:'5',6:'6',7:'7',       8:'8',9:'9',10:'A',11:'B',       12:'C',13:'D',14:'E',15:'F'}def DtoH(num):    if num<=0:        return ''    y=num%16    return DtoH(num//16)+table[y]num=int(input('请输入一个十进制数字:'))print(f"十六进制:{DtoH(num)}")table={0:'0', 1:'1',2:'2',3:'3',       4:'4',5:'5',6:'6',7:'7',       8:'8',9:'9',10:'A',11:'B',       12:'C',13:'D',14:'E',15:'F'}def DtoH(num):    h=''    while num>0:        y=num%16        h=table[y]+h        num=num//16    return hnum=int(input('请输入一个十进制数字:'))print(f"十六进制:{DtoH(num)}")

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 203304862@qq.com

本文链接:https://jinnalai.com/jiaodian/235272.html

联系我们

在线咨询:点击这里给我发消息

微信号:

工作日:9:30-18:30,节假日休息