生存中咱们应用的数字都是十进制的,而二进制是机器可能辨认的最间接的语言。然而二进制又太大,记录起来十分的不不便。所以通常会将二进制转化为八进制或者十六进制。
日常生活中咱们所说的数字 (十进制)在0~9之间,同理 二进制的范畴是0~1,八进制的范畴0~7,十六进制的范畴0~15。 那问题来了,当超过9之后,十六进制该如何示意呢? 答案是用a~f,示意对应的10~15
进制的表白
在Python中该如何示意每一种进制呢?
- 默认输出的数字为十进制
- 以0b结尾的数字示意二进制
- 以0o结尾的数字示意八进制
- 以0x结尾的数字示意十六进制
# 一般的十进制a = 12print(a) # 12# 0b示意二进制b = 0b100100 print(b) # 36# 0o示意八进制c = 0o56print(c) # 46# 0x示意十六进制d = 0x2a1print(d) # 673
进制之间的转换
1、十进制转二进制
将十进制数除2取余数,直到商为0时。
以12为例,
12 / 2 = 6 余 0 6 / 2 = 3 余 03 / 2 = 1 余 11 / 2 = 0 余 1
从上到下取余数,因而,12 对应的 二进制 为 :1100
2、二进制转十进制
把二进阶按权开展,相加即可。如二进制位:1100,依照上面的格局开展
0 0 1 11\*2^0 1\*2^1 1\*2^2 1\*2^3
0 * 1*2^0 + 0 * 1*2^1 + 1 * 1*2^2 + 1 * 1*2^3 = 12
3、二进制与八进制转换
将2进制从右到左的程序依照3位拆分,有余时 补0。 例如二进制:1100可拆分成
001 100 而后按权开展组合起来即可。
即:
02^2 + 0 2 ^ 1 + 1 * 2 ^ 0 = 1
12^2 + 0 2 ^ 1 + 0 * 2 ^ 0 = 4
因而对应的八进制为 14。
4、八进制转二进制
通过对八进制除2取余数,
1的二进制为1 ,不够3位补0,即001
4的二进制为100
因而八进制14转二进制的后果 为:001100
事实上,日常中用到的次要就是二进制和十进制的转换,其余理解一下就能够了。
在Python中,曾经讲各种进制的转换进行了封装,间接调用即可。
a = 12print(bin(a)) # 0b1100 十进制转二进制print(oct(a)) # 0o14 十进制转八进制print(hex(a)) # 0xc 十进制转十六进制# 二进制转十进制print(int('0b1100', 2))# 八进制转十进制print(int('0o14', 8))# 十六进制转十进制print(int('0xc', 16))
文末福利,史上最全Python材料汇总(长期更新)。隔壁小孩都馋哭了 --- 点击支付