异或“∧”运算的作用
2015-03-06 16:14
309 查看
异或运算法则:相同为0,不同为1
异或运算符∧也称XOR运算符。
它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。
即0∧0=0,0∧1=1,1∧1=0。如: 即071∧052,结果为023(八进制数)。
“异或”的意思是判断两个相应的位值是否为“异”,为“异”(值不同)就取真(1),否则为(0)。
下面举例说明∧运算符的应用:
(1)[b]与1相∧,使特定位翻转[/b]
假设有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原来的值。
异或运算符∧也称XOR运算符。
它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。
即0∧0=0,0∧1=1,1∧1=0。如: 即071∧052,结果为023(八进制数)。
“异或”的意思是判断两个相应的位值是否为“异”,为“异”(值不同)就取真(1),否则为(0)。
下面举例说明∧运算符的应用:
(1)[b]与1相∧,使特定位翻转[/b]
假设有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原来的值。
相关文章推荐
- 逻辑运算(与&,或|,异或^)及其常用作用
- C语言中各位运算的作用(与、或、异或等)
- 找出数组中两个只出现一次的数字;异或运算^的一个作用
- C语言中位运算异或“∧”的作用
- 说说异或运算^和它的一个常用作用
- 说说异或运算^和他的一个常用作用 (转载)
- 异或运算的作用
- DELPHI加密字串(异或运算加密)
- 训练三层BP神经网络实现异或运算 Python 代码实现
- 按位与、或、异或等运算方法(转)
- 落单的数算法(巧妙的异或运算)
- 与、或、异或运算
- 异或运算
- 按位运算作用是什么
- 按位与、或、异或等运算方法(转)
- 按位与、或、异或等运算方法
- 异或运算的简单应用
- C++ 按位与、或、异或等运算方法
- 异或运算
- C/java语言 利用异或运算来交换两个变量的值