C位运算中 异或运算符的 几点注意与示例

C语言的 异或运算的 运算原理 应用。需要注意的是 位运算 是符合 交换律, 结合律 及 分配律的

1/* 2 * ==================================================================== 3 * All Rights Reserved 2007-2015 CODD Orgnization 4 * ==================================================================== 5 * Title: xor.c 6 * Desp: sample of bit xor operation 7 * Author: Liu Dongguo(jealdean@outlook.com) 8 * Verion: 1.0 9 * Created: 03/24/2015 22:09:14 PM 10 * ChgOn: 2015-03-25 01:06:45 11 * ==================================================================== 12 */ 13 14Principles 15P0 x^x=0 16P1 a^0=a 17P2 c=a^x ==> a=c^x (=a^x^x=a^0=a) 18#include <stdio.h> 19int main (int argc, char* argv[]) 20{ 21 sample1 :swap two values 22 int a=3; 23 int b=517; 24 printf("before swap:a=%d,b=%d\n",a,b); 25 a^=b^=a^=b; 26 printf("after swap:a=%d,b=%d\n",a,b); 27 samplp2: letter lowercase --> UPPERCASE 28 int cMask='a'^'A'; 29 char c='b'; 30 printf("%c-->%c\n",c,c^cMask); 31 sample3: test Law of distribution 32 if(12^22==(12^19+12^3)) 33 { 34 printf("yes,xor obey Law of distribution\n"); 35 } 36 return 0; 37}
点赞
收藏

评论区

加载中...

相关推荐

java中的7个位运算运算符

位运算指的是针对整数的二进制进行的位移操作。位运算提供比算术运算更高的效率,但是位运算的代码可读性较差,建议所有使用位运算的地方写上注释。Java中提供7个位运算符用于位运算。左移(<<)左移运算是将操作数二进制值逐位左移若干位,左移过程中符号位不变,高位溢出则舍弃,低位则补0。范例结果范例结果00000001<<

java位运算大全

位运算因为是CPU直接支持的操作指令,也是基于二进制的操作,所以具有相当高的效率,在一些场合,合理应用位运算将具有很高的性能。通常在一些加密算法,图型算法中都会使用到位运算。Java位运算符位 运 算 符 用 来 对 二 进制 位 进 行 操 作 ,Java中提 供 了 如 下所 示 的 位 运 算符:位 运 算 符 (>>,<<

OC中的位运算

转载:https://www.jianshu.com/p/b868b30c0c88OC中的位运算和C/C语言的位运算是一样的。一般有&(按位与),|(按位或),~(按位取反),<<(左移),(右移),^(异或)以及&(按位与然后赋值),|(按位或然后赋值)等对枚举类型的操作中常常会见到。例如定义一个季节SeasonT

Java 位运算(移位、位与、或、异或、非)

//1、左移(<<)//00000000000000000000000000000101然后左移2位后,低位补0:////00000000000000000000000000010100换算成10进制为20System.out.println(5<<2);//运行结果是20//2、右移

C语言位运算

一、掩码运算1.什么是掩码?计算机中最小的单位是字节,一个字节代表8个二进制位。在实际的应用中许多信息并不需要使用一个字节来表示。例如表示当前系统运行是否正常,这种标志的取值只有0和1两种。因此使用是个完整的字节保存该标志就很浪费了。这些标志为是以位的形式存储的,因此当需要提取这些标志位的时候就需要使用掩码。掩码是人为生成的整数值,

Python运算符大全

  一、Python的算术运算  Python的算术运算符与C语言类似,略有不同。包括加()、减()、乘(\)、除(/)、取余(%)、按位或(|)、按位与(&)、按位求补(~)、左移位(<<)、右移位()、单目求反()、幂运算(\\)、整除运算(//)、增强运算、增强矩阵乘法(@)。  增强运算是将算术运算符或逻辑运算符放到等号的左

C位运算中 异或运算符的 几点注意与示例 - HelloWorld