Python "按位或"和"按位异或"的区别

首先分别解释一下按位或和按位异或

按位或:

按位或指的是参与运算的两个数分别对应的二进制位进行“或”的操作。只要对应的两个二进制位有一个为1时,结果位就为1。python中运算符为“|”

按位异或:

按位异或就是将参与运算的两个数对应的二进制位进行比较,如果一个位为1,另一个位为0,则结果为1,否则,结果位为0。python中运算符为“^”

下面用9和3为操作对象两个例子解释一下:

十进制9  对应的二进制为00001001

十进制3  对应的二进制为00000011

按位或运算结果为      00001011

1 a=9
2 b=3
3 bin(a|b)
4 ‘0b1011‘

十进制9  对应的二进制为00001001

十进制3  对应的二进制为00000011

按位异或运算结果为     00001010

1 a=9
2 b=3
3 bin(a^b)
4 ‘0b1010‘

  

原文地址:https://www.cnblogs.com/dalingxuan/p/10590344.html

时间: 2024-10-16 08:14:04

Python "按位或"和"按位异或"的区别的相关文章

python类中super()和__init__()的区别

本文和大家分享的主要是python开发中super()和__init__()的区别,希望通过本文的分享,对初学者学习这部分内容有所帮助. 1.单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(self): print 'Base create' class childA(Base): def __init__(self): print 'creat A ', Base.__init__(self) class chi

Python字典方法copy()和deepcopy()的区别

1 from copy import deepcopy # import deepcopy模块 2 d = {} 3 d['name'] = ['black', 'guts'] # d = {'name': ['black', 'guts']} 4 c = d.copy() # c = {'name': ['black', 'guts']} 5 dc = deepcopy(d) # dc = {'name': ['black', 'guts']} 6 d['name'].append('whit

Python新式类和经典类的区别

@Python新式类和经典类的区别 class ClassicClass(): pass class NewStyleClass(object): pass x1 = ClassicClass() x2 = NewStyleClass() print x1.__class__, type(x1) print x2.__class__, type(x2) 输出结果: __main__.ClassicClass <type 'instance'> <class '__main__.NewSt

Python库urllib与urllib2有哪些区别

分享下Python库urllib与urllib2用法区别,初学python的同学常有此困惑,今天一揭谜底. 学习Python,一直不明白urllib和urllib2的区别,以为2是1的升级版.今天看到老外写的一篇<Python: difference between urllib and urllib2>才明白其中的区别You might be intrigued by the existence of two separate URL modules in Python -urllib an

Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例

Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例match.search.findall.group(s) 区别12345    import re# match findall经常用# re.match() #从开头匹配,没有匹配到对象就返回NONE# re.search() #浏览全部字符,匹配第一个符合规则的字符串# re.findall() # 将匹配到的所有内容都放置在一个列表中一.match有两种情况 -------  有分组

Python 引入包的两种方式区别

1.import XXX仅仅是告诉我们需要使用这个包,但是你真正使用的时候,需要完整的导入这个包的全路径 比如: import wechat.views 在使用其中的hello函数的时候,需要 wechat.views.hello - 这个路径不能简略 2.from ... import ...就不需要指定父的路径了 比如: from wechat.views import *    #你可以使用views内部的变量 你就可以直接使用其中的hello hello 但是如果: from wecha

python基础-文件读写&#39;r&#39; 和 &#39;rb&#39;区别

一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据.'w':表示要向文件写入数据,并截断以前的内容'a':表示要向文件写入数据,添加到当前内容尾部'r+':表示对文件进行可读写操作(删除以前的所有数据)'r+a':表示对文件可进行读写操作(添加到当前文件尾部)'b':表示要读写二进制数据 2.读文件 进行读文件操作时,直到读到文档结束符(EOF)才算读取到文件最后,Python会认

Python新式类与经典类的区别

1.新式类与经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性:反之,即不由任意内置类型派生出的类,则称之为“经典类”. “新式类”和“经典类”的区分在Python 3之后就已经不存在,在Python 3.x之后的版本,因为所有的类都派生自内置类型object(即使没有显示的继承object类型),即所有的类都是“新式类”. 官方文档 https://www.python.org/doc/new

Python 中使用列表解析时候的区别

使用[] + for语句是解析列表 而使用() + for语句是产生生成器 实例代码如下: alist = [1, 2, 3, 4, 5] another_list = [i for i in alist] print another_list a_generator = (i for i in alist) print a_generator for i in a_generator: print i Python 中使用列表解析时候的区别