Python进制转换

1.二进制,八进制,十六进制转十进制

print(int('1101',2)) #1*2^0+0*2^1+1*2^2+1*2^3
13
print(int('0o226',8)) #6*8^0+2*8^1+2*8^2
150
print(int('0x96',16))#6*16^0+9*16^1
150

2.十进制转化为二进制
用n除以2,得到的商再除以2 直到除到1,然后记录每次得到的余数, 从后往前读。

print(bin(13))
'0b1101'

3.八进制转化为二进制
比如八进制数 (37)8
拆开 3 7
3用二进制表示为 11
7用二进制表示为 111
合起来 即为 11 111
同理 十六进制转二进制

print(bin(0o37))    #0o37   0:阿拉伯数字0   o:八进制表示
'0b11111'
print(bin(0x33))
'0b110011'

4.二进制转八进制
二进制从右边数,3位3位为一组,转为十进制比如:
10 110 011 111
2 6 3 7 对应八进制就是为 (2637)8
同理十六进制,不过此时二进制应该是 从右往左边数,4位4位为一组
101 1001 1111 转为十六进制对应如下:

5 9 f (15)

print(oct(0b10110011111))
'0o2637'
print(hex(0b10110011111))
'0x59f'

4.八进制与十六进制之间转换

第一种:他们之间的转换可以先转成二进制然后再相互转换。

第二种:他们之间的转换可以先转成十进制然后再相互转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值