与, 或, 异或

转载 2012年03月23日 13:18:58
&按位与 
| 按位或 
^ 按位异或 
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。 
例如:9&5可写算式如下: 00001001 (9的二进制补码)&00000101 (5的二进制补码) 00000001 (1的二进制补码)可见9&5=1。 
按位与运算通常用来对某些位清0或保留某些位。例如把a 的高八位清 0 , 保留低八位, 可作 a&255 运算 ( 255 的二进制数为0000000011111111)。 
main(){ 
int a=9,b=5,c; 
c=a&b; 
printf("a=%dnb=%dnc=%dn",a,b,c); 

2. 按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。 
例如:9|5可写算式如下: 00001001|00000101 
00001101 (十进制为13)可见9|5=13 
main(){ 
int a=9,b=5,c; 
c=a|b; 
printf("a=%dnb=%dnc=%dn",a,b,c); 

3. 按位异或运算 按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下: 00001001^00000101 00001100 (十进制为12) 
main(){ 
int a=9; 
a=a^15; 
printf("a=%dn",a); 
}

相关文章推荐

按位与、或、异或运算

一、按位与(&) 1、概念:参加运算的两个对象,按二进制位进行“与”运算,负数按补码形式参加按位与运算。 2、运算规则:0&0=0; 0&1=0;1&0=0;1&1=1;即:两位同时为“1”,结果才为...

Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面...

&(与运算)、|(或运算)、^(异或运算)的本质理解

&(与运算)、|(或运算)、^(异或运算)的本质理解

Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)

位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面...
  • vebasan
  • vebasan
  • 2011年02月18日 17:44
  • 214469

异或位运算加密

  • 2015年12月16日 14:29
  • 2KB
  • 下载

异或加密源代码

  • 2015年10月25日 09:26
  • 2KB
  • 下载

【bzoj4017】小Q的无敌异或 树状数组

按位考虑 第一个问题,一堆0和1,求所有区间的异或的和 从前往后枚举,记录当前有多少个0,多少个1,随便一算就可以 第二个问题,一堆0和1,求所有区间的和的异或 所有大于第i位的部分我们都可以...

C#利用异或算法为数字加密

  • 2015年07月21日 15:48
  • 53KB
  • 下载

异或值计算

  • 2014年10月17日 11:46
  • 152KB
  • 下载

深入理解计算机系统-课后习题-2.13-bis和bic命令实现或和异或运算

Talk is cheap, show me the code.
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:与, 或, 异或
举报原因:
原因补充:

(最多只允许输入30个字)