解析Python中的二进制位运算符

yipeiwu_com6年前Python基础

下表列出了所有的Python语言的支持位运算符。假设变量a持有60和变量b持有13,则:

2015513121451717.jpg (583×433)

示例:

试试下面的例子就明白了所有的Python编程语言提供了位运算符:

#!/usr/bin/python

a = 60      # 60 = 0011 1100 
b = 13      # 13 = 0000 1101 
c = 0

c = a & b;    # 12 = 0000 1100
print "Line 1 - Value of c is ", c

c = a | b;    # 61 = 0011 1101 
print "Line 2 - Value of c is ", c

c = a ^ b;    # 49 = 0011 0001
print "Line 3 - Value of c is ", c

c = ~a;      # -61 = 1100 0011
print "Line 4 - Value of c is ", c

c = a << 2;    # 240 = 1111 0000
print "Line 5 - Value of c is ", c

c = a >> 2;    # 15 = 0000 1111
print "Line 6 - Value of c is ", c

当执行上面的程序它会产生以下结果:

Line 1 - Value of c is 12
Line 2 - Value of c is 61
Line 3 - Value of c is 49
Line 4 - Value of c is -61
Line 5 - Value of c is 240
Line 6 - Value of c is 15

相关文章

python使用原始套接字发送二层包(链路层帧)的方法

发送端代码: #!/usr/bin/python # -*- coding: UTF-8 -*- import socket import struct raw_socket =...

解决nohup重定向python输出到文件不成功的问题

原因是: It looks like you need to flush stdout periodically (e.g. sys.stdout.flush()). In my t...

Python标准库内置函数complex介绍

本函数可以使用参数real + imag*j方式创建一个复数。也可以转换一个字符串的数字为复数;或者转换一个数字为复数。如果第一个参数是字符串,第二个参数不用填写,会解释这个字符串且返回...

Django模型修改及数据迁移实现解析

Migrations Django中对Model进行修改是件麻烦的事情,syncdb命令仅仅创建数据库里还没有的表,它并不对已存在的数据表进行同步修改,也不处理数据模型的删除。 如果你...

python 调用HBase的简单实例

新来的一个工程师不懂HBase,java不熟,python还行,我建议他那可以考虑用HBase的thrift调用,完成目前的工作。 首先,安装thrift 下载thrift,这里,我用的...