咨询电话:400-810-1418服务与监督电话:400-006-6572
×

提交成功
我们会有专属的教育顾问联系您,请保持手机畅通。

python教程:python位运算符的使用

发布时间:2019-06-18 09:43:57

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

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

1、& 按位与运算符

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

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

1.png

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

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

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

2.png

第二步,到过来读,结果为: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、<< 左移动运算符

运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000

6、>> 右移动运算符

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

友情提醒:每一个操作符都要能够熟练的运用,特别是需要考笔试的人,不然碰到这些就做不出来了,有不明白的可以加微信(ziwenseo)