异或运算的作用

a^b   如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0

按位异或的3个特点:

        (1) 0^0=0,0^1=1 0异或任何数=任何数

  (2) 1^0=1,1^1=0 1异或任何数-任何数取反

  (3) 任何数异或自己=把自己置0

 

1、实现两个值的交换,而不必使用临时变量。

  例如交换两个整数a=10100001,b=00000110的值,可通过下列语句实现:

  a = a^b;   //a=10100111

  b = b^a;   //b=10100001

  a = a^b;   //a=00000110

2、快速判断两个值是否相等

  举例1: 判断两个整数a,b是否相等,则可通过下列语句实现:

  return ((a ^ b) == 0)

posted @ 2020-08-13 15:12  花儿在成长  阅读(226)  评论(0编辑  收藏  举报