异或的运算规则和按位或有何不同?

如题所述

1、运算规则不同:

异或如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同。异其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

2、功能不同:

按位或其功能是参与运算的两数各对应的二进位相或。异或结果为0。或只要对应的二个二进位有一个为1时,结果位就为1。当参与运算的是负数时,参与两个数均以补码出现。

3、运算符不同:按位或在C语言中用a | b表示。按位异或在C语言中用a ^ b来表示。

扩展资料:

位运算相关规则:

1、整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。

2、1 & 1 = 1, 1 | 1 = 1, 1 ^ 1 = 0

3、1 & 0 = 0, 1 | 0 = 1, 1 ^ 0 = 1

4、0 & 1 = 0, 0 | 1 = 1, 0 ^ 1 = 1

5、0 & 0 = 0, 0 | 0 = 0, 0 ^ 0 = 0

参考资料来源:百度百科-位运算

温馨提示:内容为网友见解,仅供参考
无其他回答

异或的运算规则和按位或有何不同?
2、功能不同:按位或其功能是参与运算的两数各对应的二进位相或。异或结果为0。或只要对应的二个二进位有一个为1时,结果位就为1。当参与运算的是负数时,参与两个数均以补码出现。3、运算符不同:按位或在C语言中用a | b表示。按位异或在C语言中用a ^ b来表示。

按位或、异或和按位或是什么关系呢?
1、按位或:如果两个相应的二进制位有一个为1,则该结果为1,否则为0。2、按位异或(^):如果两个相应的二进制位值不同则为1,否则为0。3、按位与(&):如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。按位的各种运算,结合图形看起来是不是还挺简单,不过这些都是正数的操作...

求助!什位异或,什么是按位与?
1. 按位或(|):这种运算符比较两个二进制位,如果至少有一个为1,结果位就为1,否则为0。这种操作直观地反映了“或”的逻辑,即只要有一个条件满足,结果即为真。2. 按位异或(^):异或运算则不同,当两个二进制位的值不同时,结果位为1,否则为0。这种运算类似于逻辑中的“非”,可以用来...

按位与、按位异或、按位或有什么区别?
1、~:意思是按位取反,类似于非(!)的关系,取它的反面。2、<<: 意思是左移,移动二进制的位。3、& : 意思是按位与,类似于与(&&)的关系,一假为假。4、^:意思是按位异或,通俗地说就是相同为0,不同为1.5、|:意思是按位或,类似于或(||)的关系,一真为真。

C++中,按位或"|"和按位异或"^"有什么区别?
按位或只要有一位为1,结果就为1,都为0就为0 按位异或只有两个不同时,结果为1,两个都相同时为0 按位或:10 11 结果为11 按位异或 10 11 结果为01

详解C++按位与、或、异或运算
按位或(|)的规则是:0与任何数结果为该数,1与任何数结果为1。常用于设置数据的某些位置1。异或(^)运算规则为:0异或0结果为0,0异1结果为1,1异0结果为1,1异1结果为0。异或运算具有交换律和结合律,能用于翻转特定位、保留原值或不引入新变量交换变量值。在处理异或运算的例题中,如给定一...

C语言问题,按位与、按位或、按位异或、按位取反,解释下。
异或运算,两者不同为真,反之为假:1 ^ 1 = 0,1 ^ 0 = 1,0 ^ 1 = 1,0 ^ 0 = 0;取反运算,单目运算符:~1 = 0,~0 = 1;以上例子 1 代表真,0 代表假。按位运算就是将二进制位的每一位进行如上计算。如 2 | 5,转换为二进制(以 1 字节 8 位为例):00000010 |...

求助!什么是按位或,什么是按位异或,什么是按位与?
按位或是二进制运算的一种。在进行按位或运算时,如果两个相应的二进制数中至少有一个为1,那么结果的这一位就为1。换句话说,只有当相应的两个位都为0时,结果位才会是0。这种运算在计算机科学中有广泛的应用,例如在设置某些标志位或合并不同的属性时。按位异或是另一种重要的二进制运算。异或...

同或、异或、位移、按位与、按位或运算
运算法则:相同为0,不同为1 运算符号:⊕ 表达式 :a⊕b=a'b+ab'(a'为非a,b'为非b)异或运算的常见用途:运算符:<< 表达式:m<<n(表示把m左移n位)运算规则:左移n位的时候,最左边的n位将被丢弃,同时在最右边补上n个0 eg: 00001010 << 2 = 00101000 运算符:>> 表达式:...

java中按位异或与逻辑异或的区别
逻辑没有异或运算。位异或指:异或运算^,异或运算它都是以二进制数据为基础进行运算,1^1=00^0=11^0=10^1=1

相似回答
大家正在搜