python 进制转换
2018-12-06 本文已影响0人
Dream_RM
一. Python 表示各种进制
名称 | 表示法 | 换算成十进制 |
---|---|---|
2进制 | 0b10 |
2 |
8进制 | 0o10 |
8 |
16进制 | 0x10 |
16 |
-
代码展示
>>> print(0b10) 2 >>> print(0o10) 8 >>> print(0x10) 16
二. Python 进制之间的转换
1. 转换为二进制(bin()
)
# 1. 十进制 转 二进制
>>> bin(45)
'0b101101'
# 2. 八进制 转 二进制
>>> bin(0o45)
'0b100101'
# 3. 十六进制 转 二进制
>>> bin(0x45)
'0b1000101'
2. 转换为八进制(Oct()
)
# 1. 二进制 转 八进制
>>> oct(0b100101)
'0o45'
# 2. 十进制 转 八进制
>>> oct(8)
'0o10'
# 3. 十六进制 转 八进制
>>> oct(0xf)
'0o17'
3. 转换为十进制(int()
)
# 1. 二进制 转 十进制
>>> int(0b101101)
45
# 2. 八进制 转 十进制
>>> int(0o10)
8
# 3. 十六进制 转 十进制
>>> int(0xf)
15
# 4. 将字符串转化为 数字
# int() 参数:
# - 要转换的字符串
# - 字符串的进制数, 默认将字符串中的数字当做 10进制进行转换
>>> int("0b1010")
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '0b1010'
>>> int("0b1010", 2)
10
4. 转换为十六进制(hex()
)
# 1. 二进制 转 十六进制
>>> hex(0b101010101)
'0x155'
# 2. 八进制 转 十六进制
>>> hex(0o16)
'0xe'
# 3. 十进制 转 十六进制
>>> hex(10)
'0xa'