Python 进制转换与位运算


十进制转二进制、八进制、十六进制:

dec = int(input("输入数字:"))

print("十进制数为:", dec)
print("转换为二进制为:", bin(dec))
print("转换为八进制为:", oct(dec))
print("转换为十六进制为:", hex(dec))

二进制数转换成十进制数:二进制数从右向左每位数乘以2的次方(从0开始,从右向左依次+1),然后相加求和即可。

0101转成十进制为:1*20+0*21+1*22+0*2=1+0+4+0=5

十进制数转换成二进制数:十进制数除2取余,商继续除2取余,直到商为0,所有余数逆顺即可。

如:12转换成二进制是:1100

12/2=6  ------ 0    第4位
6/2=3 ------    0    第3位
3/2=1 ------    1    第2位
1/2=0 ------    1    第1位

12的二进制表示为:1100

  位运算:

& :按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

|:按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

^:按位异或运算符:当两对应的二进位相异时,结果为1

 

遇到一个问题:

ord('d')^ord('l')

posted @ 2018-04-02 18:16  0bug  阅读(1435)  评论(0编辑  收藏  举报