详细介绍Python语言中的按位运算符

yipeiwu_com6年前Python基础

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

按位与   ( bitwise and of x and y )

  &  举例: 5&3 = 1  解释: 101  11 相同位仅为个位1 ,故结果为 1

按位或   ( bitwise or of x and y )

  |  举例: 5|3 = 7  解释: 101  11 出现1的位是 1 1 1,故结果为 111

按位异或 ( bitwise exclusive or of x and y )

  ^  举例: 5^3 = 6  解释: 101  11 对位相加(不进位)是 1 1 0,故结果为 110

按位反转 (the bits of x inverted )

  ~  举例: ~5 = -6  解释: 将二进制数+1之后乘以-1,即~x = -(x+1),-(101 + 1) = -110

    按位反转仅能用在数字前面。所以写成 3+~5 可以得到结果-3,写成3~5就出错了

按位左移 ( x shifted left by n bits )

  << 举例:  5<<2 = 20 解释:101 向左移动2位得到 10100 ,即右面多出2位用0补

按位右移 ( x shifted right by n bits )

  >> 举例: 5>>2 = 1  解释:101 向右移动2位得到 1,即去掉右面的2位

相关文章

Python generator生成器和yield表达式详解

前言 Python生成器(generator)并不是一个晦涩难懂的概念。相比于MetaClass和Closure等概念,其较为容易理解和掌握。但相对于程序结构:顺序、循环和分支而言其又不...

Python中super函数的用法

描述 super() 函数用于调用下一个父类(超类)并返回该父类实例的方法。 super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承...

python__name__原理及用法详解

python__name__原理及用法详解

1、python中__name__是什么意思? 很多python的初学者可能都会遇到一个问题:__name__是什么意思? 在刚开始学习python的时候,我们总会看到这样一句代码:...

python实现机器人卡牌

python实现机器人卡牌

介绍 这个例子主要利用turtle库实现根据输入动态展示不同机器人的图像和属性信息。 代码部分非原创只是做了些许修改和整理使得更易阅读。 图片和文件资源请访问git仓库获取:链接地址 涉...

urllib2自定义opener详解

urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能。要支持这些功能,必须使用build_opener()函数创建自定义Opener对象。 复制代码 代...