一、Python进制之间转换
Python为我们提供了强大的内置函数和格式化数字的方法去实现进制转换的功能。
本文详细介绍如何使用Python进行不同数制间的转换,包括十进制到二进制、八进制、十六进制的转换方法,以及反向转换的过程。
1.1 Python进制之间的转换原理
在python中,十进制转二进制 bin(18)–> ‘0b10010’ 去掉0b就是10010 即为十进制18转二进制是10010;同理,十进制转八进制oct(18) -->‘022’ 去掉0就是22,即为十进制18转八进制是22;同样的,十进制转十六进制hex(18) -->‘0x12’ 去掉0x 就是12,即为十进制18转八进制是12。
1.2 各进制之间的关系可以这么理解
|↓ | 2进制 | 8进制 |10进制 |16进制 |
|:--------😐:--------😐:--------😐:--------😐:--------😐:--------😐
| 2进制 | - |bin(int(n,8)) |bin(int(n,10))|bin(int(n,16))
| 8进制 | oct(int(n,2)) |- |oct(int(n,10))|oct(int(n,16))
| 10进制| int(n,2) |int(n,8)|-|int(n,16)
| 16进制 |hex(int(n,2))|hex(int(n,8)) |hex(int(n,10))|-|
1.3 通过一张图片再来剖析一下各进制之间的逻辑关系
1.4 以上图片里的关系反过来的话可以这么理解:
二进制转十进制 int(‘0b10010’,2) --> 18;
八进制转十进制 int(‘022’,8)–> 18;
十六进制转十进制 int(‘0x12’,16)–> 18
直接在python集成开发环境里面输入print(bin(18))即可看出,或者print(int(‘0b10010’,2))
二、Python转换编码表
有的同学可能比较疑惑,计算机只认识0和1,遇到字符、字母、数字、符号等怎么办,下面我们就附一张字符映射图表,以备大家不时之需:
其中,‘A’ 使用了8个位(bit)才能表示出来,在计算机他们叫一个字节(byte)
0 1 0 0 0 0 0 1
以上是关于Python进制之间的转换关系,希望可以帮助到你。