C++ 中的异或运算:原理、示例与应用
在 C++ 中,异或运算符用符号' ^ ' 表示。异或运算是指当两个操作数的位相同时,结果为 0;当两个操作数的位不同时,结果为 1。以下是一些异或运算的示例:
- 整数异或运算:
int a = 5; // 二进制为 0101
int b = 3; // 二进制为 0011
int result = a ^ b; // 二进制为 0110,即 6
- 字符异或运算:
char c = 'A'; // ASCII 码为 65,二进制为 01000001
char d = 'B'; // ASCII 码为 66,二进制为 01000010
char result = c ^ d; // 二进制为 00000011,即字符 '\x03'
- 异或运算的性质: 异或运算具有以下性质:
- 任何数与 0 异或的结果都是它本身:x ^ 0 = x
- 任何数与自身异或的结果都是 0:x ^ x = 0
- 异或运算满足交换律和结合律:a ^ b = b ^ a,(a ^ b) ^ c = a ^ (b ^ c)
- 异或运算可以用于交换两个变量的值:
int a = 5;
int b = 3;
a = a ^ b;
b = a ^ b;
a = a ^ b;
// 此时,a 的值为 3,b 的值为 5
这种通过异或运算交换变量值的方法不需要额外的变量。
原文地址: https://www.cveoy.top/t/topic/plcb 著作权归作者所有。请勿转载和采集!