首页 > 编程知识 正文

按位异或运算法则,c语言异或运算符怎么算

时间:2023-05-04 04:37:16 阅读:18742 作者:2798

在c语言异或运算符家族中,最常用的是某个异或运算符。

异或运算符是参与运算的两个值,如果两个对应位相同,则结果为0,否则为1。 即0^0=0、1^0=1、0^1=1、1^1=0

例如,10100001^00010001=10110000

0 ^0=0,0 ^1=1可以理解为0与任意数异或,结果=任意数

1 ^0=1,1 ^1=0可以理解为1与任意数异或,结果=任意数相反

任何异或都等于让自己为0

1 )异或可以用于反转特定位,如对数10100001的第一位和第二位。 可以用异或运算数和00000110。

10100001^00000110=10100111

以十六进制表示,0xA1 ^0x06=0xA7

(2)异或运算允许在不使用临时变量的情况下交换两个值。 例如,要交换两个整数a、b的值,请使用以下语句:

a=10100001,b=00000110

a=a^b; //a=10100111

b=b^a; //b=10100001

a=a^b; //a=00000110

)3)异或运算符的特征是,即使对数a相同的数b(a=a^b^b )进行两次异或,仍然是原来的值a。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。