美文网首页
异或运算符妙用

异或运算符妙用

作者: 佳佳嘉1024 | 来源:发表于2018-01-30 14:00 被阅读0次

异或运行符(^)

  1. 位相同,结果为0;
  2. 位不同,结果为1;

3个特点

操作 结果 示例
0异或任何数 任何数 a ^= 0
1异或任何数 任何数取反 a ^= 1
任何数异或自己 把自己置0 a ^= a

常见应用

  1. 翻转指定位
aa ^= ( 1 << 2 ); // 翻转第2位
  1. 不使用零时变量,交换两个值
a = a^b; // a=10100111
b = b^a; // b=10100001
a = a^b; // a=00000110
  1. 将变量置零
a ^= a; //  将变量a置零
  1. 判断两个值是否相等
if ( ( a ^ b ) == 0 ) { printf( "a = b" ); }

相关文章

网友评论

      本文标题:异或运算符妙用

      本文链接:https://www.haomeiwen.com/subject/idqczxtx.html