转自: http://blog.sina.com.cn/s/blog_74a459380101d6xl.html

异或运算符∧也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即0∧0=0,0∧1=1,1∧1=0。如: 即071∧052,结果为023(八进制数)。

“异或”的意思是判断两个相应的位值是否为“异”,为“异”(值不同)就取真(1),否则为(0)。

  下面举例说明∧运算符的应用:

  (1)使特定位翻转

  假设有01111010,想使其低4位翻转,即1变为0,0变为1。可以将它与00001111进行∧运算,即

  

结果值的低4位正好是原数低4位的翻转。要使哪几位翻转就将与其∧运算的该几位置为1即可。这是因为原数中值为1的位与1进行∧运算得0,原数中的位值0与1进行∧运算的结果得1。

  (2)与0相∧,保留原值

  如012∧00=012

  

因为原数中的1与0进行∧运算得1,0∧0得0,故保留原数。

  (3)交换两个值,不用临时变量

  假如a=3,b=4。想将a和b的值互换,可以用以下赋值语句实现:

  a=a∧b;
  b=b∧a;
  a=a∧b;

  可以用下面的竖式来说明:

即等效于以下两步:

  ① 执行前两个赋值语句:“a=a∧b;”和“b=b∧a;”相当于b=b∧(a∧b)。而b∧a∧b等于a∧b∧b。b∧b的结果为0,因为同一个数与本身相∧,结果必为0。因此b的值等于a∧0,即a,其值为3。

  ② 再执行第三个赋值语句:a=a∧b。由于a的值等于(a∧b),b的值等于(b∧a∧b),因此,相当于a=a∧b∧b∧a∧b,即a的值等于a∧a∧b∧b∧b,等于b。

  a得到b原来的值。

在【二进制值运算】中:不同为1,相同为0,如1001异或1010等于0011。
异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0异或0=0,1异或0=1,0异或1=1,1异或1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。

转载于:https://www.cnblogs.com/soTired/p/5312307.html

转: C语言中位运算符异或“∧”的作用相关推荐

  1. 常见位操作及运算应用举例:1,C语言中位运算符异或“∧”的作用​​​​​​​2,异或运算的作用3,(与运算)、|(或运算)、^(异或运算)

    1 C语言中位运算符异或"∧"的作用: 异或运算符∧也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即0∧0=0,0∧1=1,1∧1=0 ...

  2. C语言中位运算异或“∧”的作用

    前言: 为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 1.概念 异或运算符"∧"也称XOR运算符.它的规则是 ...

  3. 异或c语言程序 次幂的关系,C语言中位运算异或“∧”的作用

    1.概念 异或运算符"∧"也称XOR运算符.它的规则是若参加运算的两个二进位同号,则结果为0(假):异号则为1(真).即 0∧0=0,0∧1=1, 1^0=1,1∧1=0. 运算 ...

  4. C语言中位运算符有哪些

    C语言中位运算符有: 位操作是程序设计中对位模式按位或二进制数的一元和二元操作. 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多. 在现代架构中, 情况并非如此:位运 ...

  5. C语言中 二进制有哪几个运算符 (举例),C语言中位运算符有哪些

    前言继承是OOP设计中的重要概念.在C++语言中,派生类继承基类有三种继承方式:私有继承(private).保护继承(protected)和公有继承(public).一.继承规则继承是C++中的重要特 ...

  6. c语言位运算负数的实例_一招教你学会C语言中位运算

    程序中的所有数在计算机内存中都是以二进制的形式储存的.位运算说穿了,就是直接对整数在内存中的二进制位进行操作.注意,位运算只针对于整数进行操作. 运算符号 运算规则 1.&与运算:对应两个二进 ...

  7. c语言中的运算符及其含义_按位运算符及其在C语言中与Example一起使用

    c语言中的运算符及其含义 1)&(按位与) (1) & (bitwise AND)) It does AND on every bit of two numbers. The resu ...

  8. c语言表达式amp;amp;,C语言中的运算符及其优先级

    C语言中的运算符及其优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) . 成员选择(对象) 对 ...

  9. 关于java中位运算符的使用和理解

    关于java中位运算符的使用和理解 &(按位与) ' & ' 符号的作用是对运算符的两侧以二进制表达的操作符按位进行'与'运算. 规则: 只有两个操作数对应位同为1时,结果为1,其余全 ...

最新文章

  1. java接口返回值_java后台调用接口并返回值
  2. su: cannot set user id: Resource temporarily unavailable
  3. postscript打印机什么意思_涨知识|你不知道的关于打印机的打印过程和打印机驱动的那些事...
  4. java 多线程 选择题_Java多线程之三道多线程练习题
  5. Python菜鸟入门:day13编程学习
  6. centos安装redmine项目管理系统
  7. GPS坐标与UTM坐标的转换
  8. JAVA实现网页版斗地主_java实现斗地主小案例
  9. python批量提取word指定内容_python批量提取word内信息
  10. 全国计算机试题选登答案,2012年宁波市中小学生计算机程序设计初赛试题选登...
  11. urllib和urllib2区别
  12. sweetjs 简介
  13. CaptchaBuilder验证码不显示
  14. Java仿QQ聊天系统Eclipse+MySql实现
  15. eai java实现,月光软件站 - 编程文档 - Java - 建立EAI方式与SAI方式之间的通信
  16. 前端怎么获取华为云IoT设备数据
  17. unity3d实现第一人称射击游戏之CS反恐精英(六)(朝准星位置发射子弹,更换弹夹 )
  18. java课程设计:基于SSM实现个人健康管理系统
  19. 假定mysql服务器密码是123456_用php写链接数据库的配置文件,数据库服务器为local host,用户名root,密码123456。 下面哪个正确?...
  20. 通过Python Pandas计算亚马逊搜索关键词报告,计算点击共享和点击共享及转化比值

热门文章

  1. ASP.NET DataSet查询结果转换为JSON格式数据
  2. EditPlus 3.5 版已经发布
  3. JSON asp(vbs)中文支持问题
  4. Java语言编码规范
  5. hdu3336 KMP + DP 前缀数组出现的次数
  6. 【Android 逆向】ART 脱壳 ( InMemoryDexClassLoader 脱壳 | dex_file.cc 中创建 DexFile 实例对象的相关函数分析 )
  7. 【Flutter】Dart 面向对象 ( 命名构造方法 | 工厂构造方法 | 命名工厂构造方法 )
  8. 【Java 集合】Java 集合主要脉络 ( Collection | Map | List | Set )
  9. 【IOS 开发】Object - C 数组使用详解
  10. [Spring cloud 一步步实现广告系统] 11. 使用Feign实现微服务调用