1、基本算法
# 十进制数转换为 N 进制
# num -- 十进制整数 base -- 转换的进制
def binchange(num: int, base: int) -> str:
s = ''
while num:
i = num % base
s += str(i)
num = int(num / base)
return s[::-1]
print(binchange(100, 16)) # 40
print(binchange(25,8)) # 32
2、内置函数
# 二进制转换成十进制:int()函数 将一个字符串或数字转换为整型 (x, base) x:字符串或数字 base:进制数,默认十进制。
v = "0b111111"
a = int(v, 2)
print(a) # 63
# 十进制转换成二进制:bin()函数 返回一个整数 int 或者长整数 long int 的二进制表示
v2 = 17
print(bin(v2)) # 0b10001
# 八进制转换成十进制
# Python2.x 版本的 8 进制以 0 作为前缀表示。
# python3.x 版本的 8 进制以 0o 作为前缀表示。
v3 = "0o26"
print(int(v3, 8)) # 22
# 十进制转换成八进制:oct()函数 将一个整数转换成 8 进制字符串
v4 = 25
print(oct(v4)) # 0o31
# 十六进制转换成十进制
v5 = "0x1c"
print(int(v5, 16)) # 28
# 十进制转换成十六进制:hex()函数 将 10 进制整数转换成 16 进制,以字符串形式表示
v6 = 100
print(hex(v6)) # 0x64
# 八进制转换为十六进制
v7 = "0o26"
print(hex(int(v7,8))) # 0x16