详细介绍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位

相关文章

Python2.x与Python3.x的区别

Python的3​​.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。 为了不带入过多的累赘,Pyth...

python提取具有某种特定字符串的行数据方法

python提取具有某种特定字符串的行数据方法

今天又帮女朋友处理了一下,她的实验数据,因为python是一年前经常用,最近找工作,用的是c,c++,python的有些东西忘记了,然后就一直催我,说我弄的慢,弄的慢,你自己弄啊,烦不烦...

netbeans7安装python插件的方法图解

netbeans7安装python插件的方法图解

我们可以手动来添加地址和安装。如图所示: 方法:NetBeans界面,“工具”->“插件”, 点击“设置”->点击“添加”,然后 添加一个更新中心地址 ,名称可以任意,U...

Python2.x版本中maketrans()方法的使用介绍

 maketrans()方法返回的字符串intab每个字符映射到字符的字符串outtab相同位置的转换表。然后这个表被传递到translate()函数。 注意:两个intab和...

python使用多线程编写tcp客户端程序

python使用多线程编写tcp客户端程序

今天在网上找了半天,发现很多关于此题目的程序都只能接收数据,所以随便找了个程序研究了一下,然后做出一些修改 代码如下: from socket import * import thr...