Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
不同进制之间的表示方式
在Python中整数有四种表示方式,分别为二进制、八进制、十进制和十六进制。
- 二进制:以0b或0B开头,如0b1010。
- 八进制:以0o或0O开头,如0o13。
- 十进制:正常的数字表示方式,如123。
- 十六进制:以0x或0X开头,如0x1E。
不同进制之间的转换方法
二进制转十进制
可以使用Python内置的int()
函数将二进制字符串转换为十进制整数。
示例代码:
binary_str = '11010'
decimal_num = int(binary_str, 2)
print(decimal_num) # 输出 26
其中int()
函数的第二个参数是进制,默认为10进制,这里传入2表示将二进制字符串转换为十进制整数。
二进制转八进制或十六进制
可以先将二进制字符串转换为十进制整数,再使用oct()
或hex()
函数将十进制整数转换为八进制或十六进制字符串。
示例代码:
binary_str = '11010'
decimal_num = int(binary_str, 2)
octal_str = oct(decimal_num)
hexadecimal_str = hex(decimal_num)
print(octal_str) # 输出 '0o32'
print(hexadecimal_str) # 输出 '0x1a'
注意,使用oct()
或hex()
函数返回的字符串中分别以0o
和0x
开头。
八进制转十进制
可以使用Python内置的int()
函数将八进制字符串转换为十进制整数。
示例代码:
octal_str = '33'
decimal_num = int(octal_str, 8)
print(decimal_num) # 输出 27
其中int()
函数的第二个参数是进制,默认为10进制,这里传入8表示将八进制字符串转换为十进制整数。
注意,如果八进制字符串中出现了不合法的数字,如8或9,将会导致错误。因此在进行八进制转换时需要确保八进制字符串的合法性。
八进制转二进制或十六进制
可以先将八进制字符串转换为十进制整数,再使用bin()
或hex()
函数将十进制整数转换为二进制或十六进制字符串。
示例代码:
octal_str = '33'
decimal_num = int(octal_str, 8)
binary_str = bin(decimal_num)
hexadecimal_str = hex(decimal_num)
print(binary_str) # 输出 '0b11011'
print(hexadecimal_str) # 输出 '0x1b'
注意,使用bin()
或hex()
函数返回的字符串中分别以0b
和0x
开头。
十进制转二进制、八进制或十六进制
可以使用Python内置的bin()
、oct()
和hex()
函数将十进制整数转换为二进制、八进制或十六进制字符串。
示例代码:
decimal_num = 123
binary_str = bin(decimal_num)
octal_str = oct(decimal_num)
hexadecimal_str = hex(decimal_num)
print(binary_str) # 输出 '0b1111011'
print(octal_str) # 输出 '0o173'
print(hexadecimal_str) # 输出 '0x7b'
注意,使用bin()
、oct()
或hex()
函数返回的字符串中分别以0b
、0o
和0x
开头。
小结
Python中可以使用多种方式表示整数,包括二进制、八进制、十进制和十六进制。不同进制之间可以相互转换,可以使用int()
、bin()
、oct()
和hex()
等Python内置函数完成转换。在进行进制转换时需要注意进制转换的合法性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中不同进制互相转换(二进制、八进制、十进制和十六进制) - Python技术站