Python中的十六进制与十进制的相互转换

liftword4个月前 (03-09)技术文章26

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

在这篇文章中,我们将用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=0
size=len(h)-1
while size>=0:
    if h[size]>='0' and h[size]<='9': y='int(h[size])' elif hsize>='A' and h[size]<='f': y='ord(h[size])-55' elif hsize>='a' and h[size]<='f':
        y=ord(h[size])-87
    else:
        c=1
        break
    d=d+(y*(16**i))
    size=size-1
    i=i+1
print(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=0
size=len(h)-1
for num in h:
    d=d+table[num]*16**size
    size=size-1
print(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 dtohnum16tabley num='int(input('请输入一个十进制数字:'))' printfdtohnum table='{0:'0',' 1:12:23:3 4:45:56:67:7 8:89:910:a11:b 12:c13:d14:e15:f def dtohnum: h while num>0:
        y=num%16
        h=table[y]+h
        num=num//16
    return h
num=int(input('请输入一个十进制数字:'))
print(f"十六进制:{DtoH(num)}")


文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

相关文章

Python中的进制转换函数详解

左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。公众号:一点sir,关注领取python编程资料在编程中,经常需要在不同的进制之间转换数值,尤其是二进制、八进制、十进制和十六进制。P...

Python 趣味编程:我的压岁钱

题目压岁钱又名压祟钱。是除夕吃完年夜饭,由长辈将事前准备好的钱分给晚辈,是过年习俗之一。今年除夕页面,小明收到了妈妈的 600 元,爸爸的 800 元,奶奶的 800 元,爷爷的 1000 元,姥姥的...

Python二进制、八进制、十进制、十六进制互转

Python二进制、八进制、十进制、十六进制互转在Python中各种进制的转换还是比较方便的,都有内置的方法二进制 bin()八进制 oct()十六进制 hex()十进制 int()通过以上4个方法就...

跟我学Python(26)——Python中的数据类型转换

上篇文章小编已经给大家介绍了Python中基本数据类型的布尔类型,这篇文章小编将跟大家分享一下Python中数据类型如何转换。Python是动态类型的语言(也称为弱类型语言)所以是可以进行数据类型转换...

python字符串格式化指南

在 Python 中,字符串格式化是一种常见且重要的操作,用于将变量或值插入到字符串中,并控制输出的格式。本文将介绍几种常见的字符串格式化方法,帮助大家掌握在 Python 中有效地处理字符串的技巧。...

Python中为啥 int(&#39;12&#39;, 16) 的结果是 18?

大家好,我是皮皮。一、前言前几天在Python白银交流群【Sam Yao】问了一个Python基础的问题,提问截图如下:二、实现过程其实他自己发出来的解析已经比较清晰了,如下图所示:无非就是进制转换的...