百度百科:

异或,英文为exclusive OR,缩写成xor

异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:

a⊕b = (¬a ∧ b) ∨ (a ∧¬b)

如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。

异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

异或略称为XOR、EOR、EX-OR

程序中有三种演算子:XOR、xor、⊕。

使用方法如下

z = x ⊕ y

z = x xor y

若需要交换两个变量的值,除了通常使用的借用中间变量进行交换外,还可以利用异或,仅使用两个变量进行交换,如:

a = 12
b = 21a = a^b
b = a^b
a = a^b

当然,由于Python的变量并不直接存储值,而只是引用一个内存地址,交换变量时,只是交换了引用的地址,所以可以实现

a, b = b, a

真直接

python两个数值互换(浅析a,b=b,a原理)

异或 Python3相关推荐

  1. python3基础知识梳理(一)

    集合可以用来去除一些重复的数字 列表和元组的切片操作 注释:无法修改元组,是一中对列表的固定属性的保护措施 >>> number [1, 2, 3, 4, 5, 6, 7, 8, 9 ...

  2. python123测试3平方根格式化,【Python3学习】走进Python

    Python语言的概述 Pyhthon 是 蟒蛇的意思. python语言的拥有者是 Python Software Foundation(PSF) RSF是一个非盈利组织,致力于保护Python语言 ...

  3. Python3之redis使用

    简介 redis是一个key-value存储系统,和Memcache类似,它支持存储的value类型相对更多,包括string(字符串),list(列表),set(集合),zset(有序集合),has ...

  4. python使用什么注释语句和运算-Python3 注释和运算符

    Python3 注释 确保对模块, 函数, 方法和行内注释使用正确的风格 Python中的注释有单行注释和多行注释: Python中单行注释以 # 开头,例如:: #这是一个注释 print(&quo ...

  5. python3各版本区别-Python2 与Python3的版本区别实例分析

    本文实例讲述了Python2 与Python3的版本区别.分享给大家供大家参考,具体如下: 现在还有些开源模块还没有更新到python3 ,不了解版本区别,无法对不合适的地方进行更改. 由于只追求向P ...

  6. python中语法错误-Python3 错误和异常

    Python3 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误 ...

  7. python3菜鸟教程-Python3 运算符

    Python3 运算符 什么是运算符? 本章节主要说明 Python 的运算符. 举个简单的例子: 4 + 5 = 9 例子中,4 和 5 被称为操作数,+ 称为运算符. Python 语言支持以下类 ...

  8. python3.7界面设计_基于selenium+Python3.7+yaml+Robot Framework的UI自动化测试框架

    前端自动化测试框架 项目说明 本框架是一套基于selenium+Python3.7+yaml+Robot Framework而设计的数据驱动UI自动化测试框架,Robot Framework 作为执行 ...

  9. linux python3 pip3_linux环境下安装python3以及pip3

    linux安装python3和pip3 linux系统(centos,redhat) 一般的情况下自带python2 以及pip,但是现在主流的python版本是python3,所以需要python2 ...

最新文章

  1. 回京火车上编码是一种怎样的体验?
  2. saltstack中salt-key收集的主机名与实际主机名不一致
  3. 获取某一周_“双十一”前,这群人备好了3600瓶假冒某品牌护肤品,结果……...
  4. DSP平台实现图像识别算法总体来说不如嵌入式?
  5. tp设置打印机虚拟服务器,tp打印机服务器设置
  6. 机器学里面的一些概念-召回率,精确度等的介绍
  7. 【中级软考】软件质量模型的六大特性27个子特性(软件质量特性:功能性、可靠性、易用性、效率性、软件维护性、软件可移植性)
  8. ElementUI中对el-table的某一列的时间进行格式化
  9. HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo
  10. 怎么new一个指针_【译】Rust与智能指针
  11. 链表之单链表约瑟夫问题(三)
  12. NUMA架构和Java
  13. php用ajax方式实现四级联动
  14. 计算机桌面设计总结及体会,计算机基础学习心得
  15. Docker的使用、底层原理及常用软件docker下载
  16. YUV格式学习:NV12和YUV420P格式互换
  17. 【语法】iOS(一)ObjectC的语法
  18. php随机获取数组的值
  19. fluent python_流畅的Python-Fluent Python简要书评
  20. Reflex WMS中阶系列7:已经完成拣货尚未Load的HD如果要取消拣货,该如何处理?

热门文章

  1. 【为什么是一堆线头?理论指导实践】浴霸电路接线安装走线详解
  2. 推荐三个快速在线生成微信跳转手机浏览器api接口的平台
  3. Matlab_输出成绩等级A、B、C、D、E
  4. 看人力资源管理系统如何为企业创造价值
  5. JavaScript作业1(实验1:Javascript基础语法)
  6. 四川玖益科技:开店的注意事项分析
  7. java百度转高德,百度、高德、Googe经纬度转换
  8. Hive 数据倾斜hive.optimize.skewjoin
  9. python个人笔录
  10. 陕西省赛2023-ukfc