参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0, 1^0=1, 0^1=1, 1^1=0

例如:10100001^00010001=10110000

0^0=0,0^1=1 0异或任何数=任何数

1^0=1,1^1=0 1异或任何数-任何数取反

任何数异或自己=把自己置0

(1)按位异或可以用来使某些特定的位翻转,如对数10100001的第2位和第3位翻转,可以将数与00000110进行按位异或运算。

          10100001^00000110=10100111 //1010 0001 ^ 0x06 = 1010 0001 ^ 6

(2)通过按位异或运算,可以实现两个值的交换,而不必使用临时变量。例如交换两个整数a,b的值,可通过下列语句实现:

a=10100001,b=00000110

a=a^b;   //a=10100111

b=b^a;   //b=10100001

a=a^b;   //a=00000110

(3)异或运算符的特点是:数a两次异或同一个数b(a=a^b^b)仍然为原值a.

转载自:

http://blog.csdn.net/kybd2006/article/details/3727218

转载于:https://www.cnblogs.com/g0feng/archive/2012/05/16/2504668.html

C++按位异或运算符相关推荐

  1. c 语言 按位与或非运算符,C++中的按位与、按位与或|、按位异或^运算符详解

    按位与运算符:& 语法 expression & expression 备注 表达式可以是其他"与"表达式,或(遵循下面所述的类型限制)相等表达式.关系表达式.加法 ...

  2. 深入理解按位异或运算符

    深入理解按位异或运算符 参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1. 即: 0^0 = 0,        1^0 = 1,        0^1 = 1,        1^1 ...

  3. 用按位异或运算符交换两个数,不引入第三个变量

    2019独角兽企业重金招聘Python工程师标准>>> 用按位异或运算符交换两个数,不引入第三个变量 void swap(int &a , int &b) { a = ...

  4. [笔试题]交换两个数不使用第三方变量 深入理解按位异或运算符

    异或运算相当与mod 2运算: 1^1 = 0, 1^0 = 1, 0^1= 1, 0 ^ 0 = 0 (1+1)%2 = 0, (1+0)%2 = 1, (0+1)%2 = 1, (0+0)%2 = ...

  5. c语音异或运算符_C语言中的按位异或运算符有什么用处?

    原标题:C语言中的按位异或运算符有什么用处? 想知道C语言中的按位异.运算符有什么用处,首先C语言中^为按位异或运算符,若两个二进制位相同,则结果为0,不同为1 例: #include "s ...

  6. java按位异或的运算是,深入理解按位异或运算符

    参与运算的两个值,如果两个相应bit位相同,则结果为0,否则为1. 即: 0^0 = 0, 1^0 = 1, 0^1 = 1, 1^1 = 0 按位异或的3个特点: (1) 0^0=0,0^1=1  ...

  7. c语言中按位异或运算,^按位异或运算符

    ^表示按位异或运算符,顾名思义,相异,即不同则为1,反之为0 例如15和16进行异或运算,运算过程如下:15 0000 0000  0000 0000  0000 0000  0000 1111 16 ...

  8. C++:按位异或运算符:^

    C++:按位异或运算符:^ 语法 备注 示例 语法 表达式 **^**表达式 备注 按位 "异或" 运算符 (^) 将其第一个操作数的每个位与其第二操作数的相应位进行比较. 如果其 ...

  9. 按位异或运算符的讲解 (详细)

    按位异或运算 按位异或运算是数学或者计算机中运用到的数据处理的方法.感觉是一种思路,当然也是运用到了他的原理. 异或运算 首先异或表示当两个数的二进制表示,进行异或运算时,当前位的两个二进制表示不同则 ...

最新文章

  1. 无法量产自动驾驶汽车的企业,与谷歌公司差在哪儿
  2. Thymeleaf读取model里面的对象||Thymeleaf读取model里面的集合||Themeleaf在js中取值||访问带参数的消息||ThymeleafObjects的使用[取三大作域的值
  3. surefire 拉起testng单元测试类的源码流程阅读(二)
  4. 谈谈技术原则,技术学习方法,代码阅读及其它
  5. 你的密码安全吗?——索尼事件的教训
  6. 让Linux使用malloc申请更多的内存
  7. 线性代数的本质-B站视频
  8. 联想a500手机驱动_一块砖也敢刷:联想手机A368T刷了三次才重新进入系统
  9. 计算机编码详解_什么是计算机编码?计算机编码的起源与操作系统是如何解码的。
  10. Android 简单登陆 涉及 Button CheckBox TextView EditText简单应用
  11. Android一些关于分辨率和布局的设置
  12. 【Elasticsearch】高亮查询 highlighting (一)
  13. 计算机管理 服务在哪,信息服务,教您哪里打开Internet信息服务(IIS)管理器
  14. svn和git的区别,为什么使用git?
  15. 分享一个完全免费的高质量 PPT 模板下载网站
  16. 手把手教你玩maven脚手架
  17. error: crosses initialization of
  18. 使用迅雷等下载工具下载Android SDK快速安装
  19. PHP MYSQLi 过程式准备好语句
  20. INSERT INTO SET

热门文章

  1. elementui 表格格式化
  2. 【代码源 Div1 - 102】#323. 最长因子链(dp)
  3. mysql中查询编辑器_数据库中查询编辑器的使用方法
  4. 安卓脚本用什么写_python脚本控制安卓手机,可以用来做什么你知道吗?
  5. python图书馆预约系统_python实现图书馆研习室自动预约功能
  6. [leetcode]62. 不同路径
  7. 机器学习——基于OpenCV和Python的智能图像处理(一)
  8. 无类域间路由CIDR
  9. 2017上海ACM ECL-final 总结
  10. Wannafly模拟赛2: A. Contest(Cdq分治)