1. 异或运算符∧也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即0∧=,∧=,∧=。如: 即071∧,结果为023(八进制数)。
  2. “异或”的意思是判断两个相应的位值是否为“异”,为“异”(值不同)就取真(),否则为()。
  3.  
  4.   下面举例说明∧运算符的应用:
  5.   ()使特定位翻转
  6.   假设有01111010,想使其低4位翻转,即1变为00变为1。可以将它与00001111进行∧运算,即
  7.   
  8. 结果值的低4位正好是原数低4位的翻转。要使哪几位翻转就将与其∧运算的该几位置为1即可。这是因为原数中值为1的位与1进行∧运算得0,原数中的位值01进行∧运算的结果得1
  9.   ()与0相∧,保留原值
  10.   012∧=
  11.   
  12. 因为原数中的10进行∧运算得1,∧00,故保留原数。
  13.   ()交换两个值,不用临时变量
  14.   假如a=,b=。想将ab的值互换,可以用以下赋值语句实现:
  15.   aab;
  16.   bba;
  17.   a=ab;
  18.   可以用下面的竖式来说明:
  19. 即等效于以下两步:
  20.    执行前两个赋值语句:“aab;”和“bba;”相当于bb∧(ab)。而bab等于abbbb的结果为0,因为同一个数与本身相∧,结果必为0。因此b的值等于a∧,即a,其值为3
  21.    再执行第三个赋值语句:aab。由于a的值等于(ab),b的值等于(bab),因此,相当于aabbab,即a的值等于aabbb,等于b
  22.   a得到b原来的值。
  23.  
  24. ////////////////////////////////////////////////////////////////////////
  25. 在【二进制值运算】中:不同为1,相同为0,如1001异或1010等于0011
  26. 异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0异或0=,1异或0=,0异或1=,1异或1=(同为0,异为1),这些法则与加法是相同的,只是不带进位。
  27. 例如:.不允许创建临时变量,交换两个数的内容。
  28. 代码:
  29. #include<stdio.h>
  30. int main()
  31. {
  32. int a=,b=;
  33. a=a^b;
  34. b=a^b;
  35. a=a^b;
  36. printf("a=%d\nb=%d\n",a,b);
  37. return ;
  38. }
  39. 运行结果:
  40. a=
  41. b=

C语言中位运算符异或“∧”的作用的更多相关文章

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

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

  2. C语言按位运算符

    C语言按位运算符 二进制反码或按位取反:~ 一元运算符~是逐位将1变为0,0变为1 Eg:  ~(1001 1010) Result:(0110 0101) 按位与:& 二元运算符&是 ...

  3. c语言中逗号运算符和逗号表达式

    原文:c语言中逗号运算符和逗号表达式 C语言提供一种特殊的运算符——逗号运算符.用它将两个表达式连接起来.如: 3+5,6+8称为逗号表达式,又称为“顺序求值运算符”.逗号表达式的一般形式为 表达式1 ...

  4. 【转】c语言中的#号和##号的作用

    @2019-01-25 [小记] c语言中的#号和##号的作用

  5. c 语言的位运算符复习

    转载和修正,原文连接:http://www.cnblogs.com/911/archive/2008/05/20/1203477.html 位运算是指按二进制进行的运算.在系统软件中,常常需要处理二进 ...

  6. C语言中的运算符

    1. 在C语言中运算符包括:算术运算符.关系运算符.赋值运算符.逻辑运算符 2.用运算符把变量.常量连接起来的式子就是表达式 3.我们阅读一个表达式,从表达式的功能和表达式的值来看 4. 算术运算符和 ...

  7. C语言中关于运算符优先级别

    在一一个表达式中可能有多个不同的运算符结合起来,由于运算符的优先级别不一样,可能会形成得到的结果不同. 优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级. 对于相同的优先级, ...

  8. Java中位运算符的使用

    先预知识: 数据在计算机中是以二进制的形式进行存储的,而二进制在内存中是以补码的形式进行存储的.在介绍位运算之前,首先来看一下原码.反码和补码的概念.由于正数的原码.反码和补码的形式都是一样的,所以以 ...

  9. JAVA语言中的运算符和表达式

    JAVA——运算符 按运算符要求的运算符个数可分为一元.二元.三元运算符: 一元运算符有一个操作数:如正数或者负数前面的“+”.“—”,和自增“++”.自减“- -”. 二元运算符有两个操作数:如除法 ...

随机推荐

  1. it starts (“forks”) a new process for each connection.

    PostgreSQL: Documentation: 10: 1.2. Architectural Fundamentals https://www.postgresql.org/docs/10/st ...

  2. Conditions in bash scripting (if statements)

    Shell中判断语句if中-z至-d的意思 - sunny_2015 - 博客园 https://www.cnblogs.com/coffy/p/5748292.html Conditions in ...

  3. 关于indexOf的使用

    今天项目中出现一个bug,在筛选数据的时候出现了冗余数据,查找发现在indexOf方法判断的时候找到了问题的所在. package demo; public class test { public s ...

  4. 【甘道夫】Eclipse+Maven搭建HBase开发环境及HBaseDAO代码演示样例

    环境: Win764bit Eclipse Version: Kepler Service Release 1 java version "1.7.0_40" 第一步:Eclips ...

  5. HTML5 Canvas 画图入门

    HTML5 Canvas 画图入门 HTML5 Canvas 画图入门,仅供学习參考 <!DOCTYPE html> <html> <head> <meta ...

  6. [数据挖掘课程笔记]Naïve Bayesian Classifier

    朴素贝叶斯模型 1) X:一条未被标记的数据 2) H:一个假设,如H=X属于Ci类 根据贝叶斯公式 把X表示为(x1,x2,....xn) x1,x2,....xn表示X在各个特征上的值. 假设有c ...

  7. 腾讯Hermes设计概要——数据分析用的是列存储,词典文件前缀压缩,倒排文件递增id、变长压缩、依然是跳表-本质是lucene啊

    转自:http://data.qq.com/article?id=817 三.Hermes设计概要 架构描述 系统核心进程均采用分散化设计,根据业务发展需求,可随意扩缩容机器; 周期性数据直接通过td ...

  8. 万亿级日志与行为数据存储查询技术剖析——Hbase系预聚合方案、Dremel系parquet列存储、预聚合系、Lucene系

    转自:http://www.infoq.com/cn/articles/trillion-log-and-data-storage-query-techniques?utm_source=infoq& ...

  9. jQuery ajax序列化函数

    参数序列化$.param() 举例: <!DOCTYPE html> <html> <head> <script src="https://ajax ...

  10. HTML标题和段落

    HTML标题 通过<h1> - <h6> 等标签进行定义 <h1>一标题</h1> <h2>二标题</h2> <h3> ...