python 进制转换
Python中可以使用内置函数bin()、oct()和hex()来进行不同进制之间的转换。
十进制转其它进制
- 将十进制数字转换为二进制:
py
num = 42
binary_num = bin(num)
print(binary_num) # 输出结果为 '0b101010'
- 将十进制数字转换为八进制:
py
num = 42
octal_num = oct(num)
print(octal_num) # 输出结果为 '0o52'
- 将十进制数字转换为十六进制:
py
num = 42
hexadecimal_num = hex(num)
print(hexadecimal_num) # 输出结果为 '0x2a'
其它进制转换十进制
直接使用int方法,int方法接受两个参数,第一个为数字,第二个为数字本身的进制,下面以八进制为例:
py
# 输入一个八进制字符串并转换为十进制
octal_str = "75"
decimal = int(octal_str, 8)
print("八进制", octal_str, "的十进制结果为", decimal)
或者直接使用进制的表示法,二进制是0b,八进制是0o,十六进制是0x,下面以八进制为例:
py
# 直接传递八进制表示法作为参数
octal_num = 0o64
decimal = int(octal_num)
print("八进制", octal_num, "的十进制结果为", decimal)
其它进制转换
其它进制转换思路可以将对应进制转为10进制,再使用十进制转换方法。
例如: 十六转二进制
python
hexadecimal_number = "1A" # 十六进制数
binary_number = bin(int(hexadecimal_number, 16))[2:] # 将十六进制数转换为二进制数
print(binary_number) # 输出转换后的二进制数
在这个示例中,我们首先将十六进制数作为字符串表示,然后使用内置函数 int()
将它转换为整数,指定进制为 16。然后,我们使用 bin()
函数将该整数转换为二进制字符串。最后,我们通过切片 [2:]
来去除二进制字符串中的前缀 "0b",因为 bin()
函数生成的二进制字符串以 "0b" 开头。