我知道两位 A 和 B 的基数 2 中的 XOR 运算符是 (A+B)%2。换句话说,它是模 2 的加法。
如果我想在三元系统(基数为 3)中计算 XOR 运算的真值表,它是否与加法模 3 相同?
例如:在基数为 3 的系统中,是否 2 XOR 2 = 1(因为 (2+2)%3 = 1)?
我读了这个 link这表明基数为 3 的系统中的 2 XOR 2 是 2,我无法理解其背后的公式?
通常,对于任何基数“x”,该基数的 XOR 运算是否为 x 模数?
最佳答案
虽然我不知道 XOR 在技术上是在更高的基数中定义的,但 XOR 的属性可以在更高的基数中保持,例如:
a ⊕ b ⊕ b = a
a ⊕ b ⊕ a = b
正如博客文章所示,使用 (base - (a + b) % base) % base
作品。您缺少的部分是 的第一个实例底座 .在以 3 为底的 2 ⊕ 2 的例子中,我们得到 (3 - (2 + 2) % 3) % 3)
这确实给了 2。这个公式只适用于个位数。如果你想扩展到多个数字,你可以对每对数字使用相同的公式,就像二进制中的标准异或一样。
例如,对每对数字(即百、十、个)运行时,以 10 为底的 185 ⊕ 42 给我们:(10 - (1 + 0) % 10) % 10 => 9
(10 - (8 + 4) % 10) % 10 => 8
(10 - (5 + 2) % 10) % 10 => 3
或 983 放在一起。如果你运行 983 ⊕ 145,你会发现结果是 85。
关于xor - 非二元基的异或函数真值表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42602572/