对于开发工程师来说,python相信大家都不会陌生,今天给大家分享一篇python教程,主要介绍python位运算符的使用,希望对这方面感兴趣的你有所帮助!

Python位运算符有按位与&,按位或|,按位异或^,按位取反~ ,左<>

1、& 按位与运算符

参与运算的两个值,如果两个相应位都为1,则该位的结果为1,啥意思呢?请继续往下看

假设a = 60; 和b = 13; a&b 是多少?在pycharm中,运行一下,就可以看到结果了

python按位或有什么用 python按位与操作_python

但是很多没有计算机基础的,就搞不懂为什么了,现在教大家怎么算,

第一步,要把十进制的数转换成二进制的数

a=13,13转换成二进制为:0011 1100  怎么转换成,除以2

python按位或有什么用 python按位与操作_python_02

第二步,到过来读,结果为:11 1100

第三步,不足8位的,前面补零,要补二位,0011 1100

在按照上面的方法,得到13的对应的二进制,b = 0000 1101

第四步,计算,果两个相应位都为1,则该位的结果为1,竖着写

1)、最后一个 0和1结果是0

0011 1100           这个是60对应的二进制

0000 1101           这个是13对应的二进制

----------------                                                 ----------------

0

2)、第二位 0和0,结果是0

0011 1100           这个是60对应的二进制

0000 1101           这个是13对应的二进制

3)、第三位,1和1,结果为1

0011 1100

0000 1101

----------------

11 0

最后有结果

0011 1100           这个是60对应的二进制

0000 1101           这个是13对应的二进制

----------------

0000 1100           这是计算的结果,

第五步,把二进制0000 1100 转成十进制

这个又怎么转换呢? 1*2的3次方+1*2的2次方,8加4等12

2、| 按位或运算符

只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101

3、^ 按位异或运算符

当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001

4、~ 按位取反运算符

对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。

5、<< 左移动运算符

运算数的各二进位全部左移若干位,由"<

6、>> 右移动运算符

把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数,a >> 2 输出结果 15,二进制解释:0000 1111