内置函数实现
dec = 369 #十进制数
b = bin(dec) #十进制转二进制
o = oct(dec) #十进制转八进制
x = hex(dec) #十进制转十六进制
print(b)
print(o)
print(x)
#结果: 0b表示二进制、0o表示八进制、0x表示十六进制
#0b101110001
#0o561
#0x171
非内置函数实现
十进制转二进制
def Dec_to_Bin(num):
result = ""
while num != 0:
ret = num % 2
num //= 2
result = str(ret) + result
return result
print(Dec_to_Bin(1024))
#结果:
#10000000000
十进制转八进制
def Dec_to_Oct(num):
result = ""
while num != 0:
ret = num % 8
num //= 8
result = str(ret) + result
return result
print(Dec_to_Oct(1024))
#结果:
#2000
所以十进制转二到九进制都可以用上面的自定义函数,只需改一下你要转的进制即可
十进制转十六进制
def Dec_to_Hex(num):
result = ""
while num != 0:
ret = num % 16
num //= 16
if ret >= 10:
ret = chr(ord('a') + ret - 10)
result = str(ret) + result
return result
print(Dec_to_Hex(1024))
#结果:
#400
注意:
- 十六进制有15个数字,除了0-9外,还有 a-f ,分别代表10-15,所以转十六进制时要注意
>=10的数要换成相应的字母。 - ord:把字母转换成对应ASCII码的函数,返回值是对应的
十进制整数。 - chr:把ASCII码转换成对应的符号的函数,返回值是当前整数对应的
ASCII 字符。
本文详细介绍了如何使用Python进行十进制与二进制、八进制、十六进制之间的转换,包括Python内置函数的使用及自定义函数实现方法。通过实例演示了不同进制之间的转换过程,特别关注了十六进制中对于大于10的数字转换为字母的处理。
6662

被折叠的 条评论
为什么被折叠?



