python中不同进制的表示方法及进制转化
一、python中的进制表示方法
1.二进制表示方法
二进制前面0b/0B来表示
代码如下(示例):
>>> a = 0b000010
>>> a
2
>>> a = 0B000010
>>> a
2
2.八进制表示方法
八进制前面加上0o/0O来表示
代码如下(示例):
>>> 0o000010
8
>>> 0O000010
8
3.十六进制的表示方法
十六进制前面加上0x/0X来表示
代码如下(示例):
>>> 0x000010
16
>>> 0X000010
16
二、进制转化
1.其他进制转十进制
直接使用int进行转化
下面是int的语法说明
class int(x, base = 10)
- x – 字符串或数字。
- base – x的进制数,默认十进制。
提示:如果base不是10的话,x要以字符串的形式输入
class int(x, base=10)
(1)二进制转十进制
代码示例
>>> int('0b101',2)
5
>>> int('101',2)
5
(2)八进制转十进制
代码示例
>>> int('10',8)
8
>>> int('0o10',8)
8
(3)十六进制转十进制
代码示例
>>> int('10',16)
16
>>> int('0x10',16)
16
2.其他进制转二进制
bin(x)
使用bin()函数进行转换
bin(x)将整数转换为前缀为“0b”的二进制字符串。
- 参数,传入整数,返回入参的二进制
- 返回值,返回的为str字符串
先将要转换的数转成十进制然后再转成二进制
(1)十进制转二进制
>>> bin(10)
'0b1010'
(2)八进制转二进制
>>> bin(int('7',8))
'0b111'
(3)十六进制转二进制
>>> bin(int('10',16))
'0b10000'
3.其他进制转八进制
oct(int(n,8))
使用oct()函数进行转换
bin(x)将整数转换为前缀为“0o”的二进制字符串。
- 参数,传入整数,返回入参的八进制
- 返回值,返回的为str字符串
先将要转换的数转成十进制然后再转成八进制
(1)二进制转八进制
>>> oct(int('10',2))
'0o2'
(2)十进制转八进制
>>> oct(10)
'0o12'
(3)十六进制转八进制
>>> oct(int('0x10',16))
'0o20'
4.其他进制转十六进制
hex(int(n,8))
使用hex()函数进行转换
hex(x)将整数转换为前缀为“0x”的二进制字符串。
- 参数,传入整数,返回入参的八进制
- 返回值,返回的为str字符串
先将要转换的数转成十进制然后再转成十六进制
(1)二进制转十六进制
>>> hex(int('0b11',2))
'0x3'
(2)八进制转十六进制
>>> hex(int('0o17',8))
'0xf'
(3)十进制转十六进制
>>> hex(10)
'0xa'
数据类型之间的转换可以参考以下文章: Python数据类型转换 int()、float()、eval()函数