xor - 非二元基的异或函数真值表

标签 xor base ternary

我知道两位 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/

相关文章:

c - C 标准对两个有符号整数的按位异或有何规定?

math - 重复对连续元素进行异或运算

c++ - 对在 C++ 中存储为字符串的两个十六进制值进行异或运算

javascript - wait 和三元运算符之间的优先级

c - 意外结果,Gnu C 中的三元运算符

boolean - 异或多数代数逻辑

r - 有没有办法在基数 R 的原点绘制单个原点符号?

Flutter web base href 子文件夹

C# 不能覆盖继承的成员

php - 我应该用三元简写 if/else 替换我所有的 if/else 语句吗? (PHP)