二进制
二进制数是以 0b或者 0B开头,并且所有字符只能包含 0和 1
比如 0101 是二进制数
八进制
八进制数以 0O或 0开头,并由0~7组成
比如 0266(八进制数)
十进制数
十进制数第一位不是0,除表示正负符号外,要以1-9开头,由0-9组成
比如 -123(十进制数)123(十进制数)
十六进制数
十六进制数以0X或0x开头,由0-9,A-F或a-f组成
比如 0X16 、0Xf1(均为16进制数)
转化
十六进制 到 十进制
使用 int() 函数 ,第一个参数是字符串 ‘0Xff’ ,第二个参数是说明,这个字符串是几进制的数。 转化的结果是一个十进制数。
>>>int('0xf',16)
15
二进制 到 十进制
>>> int('10100111110',2)
1342
八进制 到 十进制
>>> int('17',8)
15
其实可以看到,不管 几进制数 转换成 十进制数 ,都是用 int() 函数 。之后后面的 第二个参数 写清楚 前面字符串 是 几进制数就可以 。注意一定要合法。 比如2进制数就不能出现2这样的字符。
十进制 转 十六进制
>>> hex(1033)
‘0x409’
二进制 转 十六进制
就是 二进制先转成 十进制, 再转成 十六进制。
>>>hex(int('101010',2))
‘0x2a’
八进制到 十六进制
就是 八进制先转成 十进制, 再转成 十六进制。
>>> hex(int('17',8))
‘0xf’
十进制转二进制
>>> bin(10)
‘0b1010’
十六进制转 二进制
十六进制->十进制->二进制
>>> bin(int('ff',16))
‘0b11111111’
八进制 到 二进制
八进制先到十进制,再到二进制
>>> bin(int('17',8))
‘0b1111’
二进制 到 八进制
>>> oct(0b1010)
‘012’
十进制到八进制
>>> oct(11)
‘013’
十六进制到八进制
>>> oct(0xf)
‘017’
可见oct 函数 可将 任意进制的数 转换成 8进制的。