说明
一.异或运算概要
异或是指异或。 异或(xor )是数学运算符。 适用于逻辑运算。 异或的数学符号是“”,计算机符号是“xor”。 其算法如下
(ab=(ab ) () ab ) ) ) ) ) ) ) ) ) )
如果a和b两个值不同,则异或结果为1。 如果a、b两个值相同,则异或的结果为0。
异或也称为半加法运算,其运算法则相当于没有进位的二进制数的加法。 如果用二进制数表示真,用1表示假,则异或运算法则为00=0、10=1、01=1、11=00。 这些规律和加法一样
异或简称为XOR、EOR、EX-OR
程序有XOR、XOR、三种运算符。
使用方法如下
z=xy
z=xxory
二.异或定律
1.aa=0
2.ab=ba
3.abc=ac () bc )=(ab ) c;
4.d=abc可发售a=dbc。
5.aba=b。
6.x为二进制0101、y为二进制1011时;
xy=1110
只有在比较的两个比特不同的情况下,结果为1,否则结果为0
也就是说,“两个输入相同时为0,不同时为1”!
三.异或运算的作用
计算机中普遍使用,异或(xor )逻辑符号一般使用xor,也有(刽子手)。
真假=真
真假真假
假=假
真真=假
或:
TrueFalse=True
FalseTrue=True
FalseFalse=False
TrueTrue=False
由于一些计算机语言用1表示真,用0表示假,所以2字节的逐位异或如下
以下是要计算异或的两个二进制值。
因为现实中使用的是十进制数字,所以让我们来看看如何对两个十进制数字进行异或运算:
(3)3=?
1 .在计算异或之前将所有数值转换为二进制。
5和3分别转换为二进制值0101,0011
2 .将结果0110转换为十进制: 6
3 .所以53=6
四. 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。
打开APP阅读更多精彩内容
点击阅读全文