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除以进制数进行下一轮循环。
相关文章