# Introduction to the use of bitwise xor operators in C++

- 2020-04-01 23:28:55
- OfStack

The two values involved in the operation, if the two corresponding bits are the same, the result is 0, otherwise it is 1. So 0 to the 0 is 0, 1 to the 0 is 1, 0 to the 1 is 1, 1 to the 1 is 0

For example: 10100001 ^ 00010001 = 10110000

0 to the 0 is equal to 0,0 to the 1 is equal to 1,0 or anything is equal to anything

1 to the 0 is equal to 1,1 to the 1 is equal to 0,1 or anything minus anything

**
Any number or self = put itself at 0
**

**
(1)
**
Bitwise or can be used to flip certain bits, such as the second and third bit flips of logarithm 10100001, to perform bitwise xor operations with 00000110.

10100001^00000110=10100111 // 10100001^ 0x06 = 10100001^ 6

**
(2)
**
By performing bitwise xor operations, you can swap two values without having to use temporary variables. For example, exchange the values of two integers a and b, can be achieved by the following statement:

A = 00000110 = 10100001, b

A = a ^ b; / / a = 10100111

B = b ^; / / b = 10100001

A = a ^ b; / / a = 00000110

**
(3)
**
The characteristic of the xor operator is that b (a=a^b^b) is still the original value a.