【发布时间】:2016-03-28 19:03:47
【问题描述】:
我需要使用 c++ 对变量中的每个位进行异或
让我们考虑 4 位值 a 和 x,其中它们的位表示是 a = a3a2a1a0 和 x = x3x2x1x0。
我们定义掩蔽操作“。”作为a.x = a3x3(xor)a2x2(xor)a1x1(xor)a0x0。
我做了 a&x 并找到 a3x3 a2x2 a1x1 a0x0 现在我需要对它们进行异或,但如何?有什么特别的方法可以做到这一点吗?像'&'操作?我搜索但没有找到任何东西..任何帮助将不胜感激!
【问题讨论】:
-
x3x2x1x0是什么意思?我假设。 编辑:知道了。a3a2a1a0是0xA3A2A1A0 -
异或的操作符是
^。 -
If you'd searched for C++ operators 你会很快找到 xor 运算符...
-
@Jarod42 *operator ;)
-
1)x3 第四位 x2 第三位等等.. 2) 这个 '^' 用于 2 个变量我想在 1 个变量中对每个位进行异或 @Borgleader 我看到了页面但只有 2 个变量的异或运算