Python中二进制转换

1.10进制转换为其他进制
方法一:函数

十进制转二进制:bin(10) --> ‘0b1010’
tpye:是字符串类型 0b:表示2进制 十进制转八进制:oct(10)
–> ‘0o12’ tpye:是字符串类型
0o:表示8进制 十进制转十六进制:hex(10) --> ‘0xa’ tpye:是字符串类型 0x:表示16进制

方法二:format

‘{:b}’.format(9)
‘1001’
‘{: o}’.format(9)
‘11’

‘{:x}’.format(10)
‘a’

2.其他转换为10进制:

方法一:int()函数 int(‘0b1010’,2) --> 10 或者 int(‘1010’,2) --> 10
int(‘0o12’,8) --> 10 或者 int(‘12’,8) --> 10 int(‘0xa’,16) --> 10
或者 int(‘a’,16) --> 10 备注:int(x,y)括号中x是需要转换的数值type必须是字符串,y是当前进制数 方法二:
eval函数

eval(‘1111’) 1111
eval(‘0b1111’) 15
eval(‘0o1111’) 585
eval(‘0x1111’) 4369 备注:type必须是str且前面的进制标志(0b,0o,0x)不可少

3.将十进制转换为固定长度的多进制类型:
方法一:

‘{:08b}’.format(9)
‘00001001’

‘{:06o}’.format(9)
‘000011’

‘{:06x}’.format(9)
‘000009’
备注:’{:08b}’.format(9) # :b表示转换为二进制,08表示高位用0补够8位
方法二:

a =bin(5)[2:]
print(a)
101

c = str.zfill(a,8)
print©
00000101

a =oct(9)[2:]
print(a)
11

c = str.zfill(a,8)
print©
00000011

a =hex(20)[2:]#去掉前面0b
print(a)
14

a =hex(20)
a
‘0x14’

str.zfill(a,8)
‘00000x14’

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值