目录
导言
Python语言为方便大家进行进制之间的相互转换,内置了进制转换函数:bin()
、oct()
、int()
、hex()
,熟练使用这些函数,可以方便地进行十进制、二进制、八进制和十六进制之间的转换。
Python内置的进制转换函数只能从某一进制转到十进制或者从十进制转到某一进制,所以int()
函数将是各种进制间沟通的桥梁。
Python中,二进制、八进制和十六进制数都是用字符串来表示的,分别有前缀:'0b'
,'0o'
和'0x'
你可以不加前缀!。
什么是Python终端?
用鼠标滚轮点击这个图标,就可以调出。
int()函数
语法
int(x,base)
x
:一个字符串(注意这里不是一个“数字”),如:"233","100100","12A123B"。也就是说,你把想转换的“数字”用英文引号括起来接好了。base
:一个数字,表示这个数字的进制(默认为10)。如二进制就填2,十六进制就填16。
作用
将二进制、八进制或十六进制转换为十进制。
示例输入
int("0b10100101010",2) #这里用英文双引号或者英文单引号都是无所谓的。
#等同于int("10100101010",2)
示例输出
1322
bin()函数、oct()函数和hex()函数
语法
bin(x) #将十进制的x转为二进制
oct(x) #将十进制的x转为八进制
hex(x) #将十进制的x转为十六进制
x
:一个十进制的整数,如:1322
,23333
。
作用
将十进制分别转换为二进制、八进制或十六进制。
示例输入
bin(1322)
示例输出
'0b10100101010' #看的时候去掉 0b 前缀就好了。
示例输入
oct(1322)
示例输出
'0o2452'
示例输入
hex(1322)
示例输出
'0x52a'
互相转换
那么,互相转换就很容易了。比如,将二进制数 '0b10100101010' 转换为十六进制数有两种方法:
1.分步转换
先将二进制数'0b10100101010'转换为十进制数
int('0b10100101010',2)
得到:
1322
再将十进制数1322转换为十六进制数
hex(1322)
得到:
'0x52a'
2.一步转换
因为int('0b10100101010',2)
直接返回十进制数,所以可看作一个十进制数,那么这样写也是可以的:
hex(int('0b10100101010',2))
评论已关闭