Python中的常用进制转换

2023-03-15 00:00:00 python 转换 常用

Python中有多种方法可以进行进制转换,下面列出了其中的几种常用方法:

十进制转其他进制:
将一个十进制数转换成其他进制,可以使用Python中的内置函数bin(),oct(),hex(),它们分别可以将十进制数转换成二进制、八进制、十六进制的字符串表示。

示例代码:

num = 255
print(bin(num))  # '0b11111111'
print(oct(num))  # '0o377'
print(hex(num))  # '0xff'

其他进制转十进制:
可以使用Python中的内置函数int()将其他进制的字符串转换成十进制数。

示例代码:

num1 = '0b11111111'
num2 = '0o377'
num3 = '0xff'

print(int(num1, 2))  # 255
print(int(num2, 8))  # 255
print(int(num3, 16)) # 255

其中,int()函数的第二个参数表示字符串的进制数。

自定义进制转换:
如果需要进行自定义进制的转换,可以使用Python中的字符串操作和循环语句来实现。

示例代码:

def baseConvert(num, base):
    digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    result = ''
    while num > 0:
        rem = num % base
        result = digits[rem] + result
        num //= base
    return result

print(baseConvert(255, 2))   # '11111111'
print(baseConvert(255, 8))   # '377'
print(baseConvert(255, 16))  # 'FF'

其中,digits表示每一位的取值范围,result保存转换后的结果,while循环中不断地取余数并将余数对应的字符串加入result中,最后将num除以进制数进行下一轮循环。

相关文章