进制 | 前缀表示 |
---|---|
二进制 | 0b |
八进制 | 0o |
十进制 | 无前缀 |
十六进制 | 0x |
1 int(x, base)
将字符串 x 按照 base 进制转换成十进制整数。如果 base 被省略,且 x 是一个字符串,那么 base 默认为10。如果 x 是一个字面量整数,那么它将被转换为一个十进制的整数。
#将8进制转换10进制
str = '1011'
decimal_number = int(str , 8)
print(decimal_number) # 输出 521
#将2进制转化10进制
decimal_number = int(str , 2)
print(decimal_number) # 输出 11
2 bin(x)
接受一个整数 x,该整数是十进制, 并返回其二进制表示的字符串,结果以 ‘0b’ 前缀开头。
#将10进制转化二进
print(bin(30)) #出输出0b11110
3 oct(x)
将整数 x ,该整数是十进制,转换为八进制表示的字符串,结果以 ‘0o’ 前缀开头。
#将10进制转化八进
print(oct(30)) #出输0o36
4 hex(x)
将整数 x,该整数是十进制,转换为十六进制表示的字符串,结果以 ‘0x’ 前缀开头。
#将10进制转化十六进
print(hex(30)) #出输0x1e
5 format(x, ‘b’)
任意进制转换的函数,它可以根据指定的格式代码转换数值。当使用 ‘b’ 作为格式代码时,它会将整数 x 格式化为二进制字符串。
#使用 format 函数将10进制整数格式化为二进制字符串
number1 = 10
binary_str = format(number1, 'b')
print(binary_str) # 输出 '11110'
#使用 format 函数将8进制整数格式化为二进制字符串
number2 = 0o10
binary_str = format(number2, 'b')
print(binary_str) # 输出 '1000'
#使用 format 函数将16进制整数格式化为10进制字符串
number3 = 0x20
binary_str = format(number3)
print(binary_str) # 输出`'32'