异或:进行定位翻转(0变1,1变0)
应用:定位反转,数值交换
按位取反是单位运算符
按位异或可以调换数值
a=a^b;
b=b^a;
a=a^b;
按位异或功能,定位反转(和二进制11111111按位异或)。
异或可以用来交换两个变量的值
异或:两者相斥才为1
符号:^
应用:
按位反转:a^0xFF
实现数值交换:a=a^b;b=b^a,a=a^b
1.^ 按位异或
操作规则:如果两个操作数的对应位相同,则结果数对应位为0,否则为1.
应用:1.定位反转(任何数与2做按位异或运算,二进制位0变1,1变0)
2.数值交换(
设有两个操作数a,b;
a=a^b;
b=b^a;
a=a^b;
即完成交换
)
2.~ 按位取反
操作规则:操作数的二进制位0变1,1变0.
按位异或作用:(1)定位反转
(2)数值交换
a = a^b;
b = b^a;
a = a^b;
按位异或:按位翻转;数值交换(a=a^b; b=b^a; a=a^b;);取反。。。。。。
按位异或:不相同的时候为1,相同为0
定位反转:a=a^0xFF,00001001->11110110
数值交换:a=a^b;b=b^a;a=a^b;
原理:利用相同的数异或必为0,异或满足交换率和任何数和0异或都等于本身。
比如:
1.a=a^b;
2.b=b^a=b^(a^b)=b^b^a=0^a=a;
3.a=a^b=a^(b^a)=b^a^a=b^0=b;
按位异或,1.定位反转,2.数值交换的功能。
按位异或:定位反转、数值交换
按位取反:对二进制位取反