java - 使用数学运算符进行异或

标签 java c xor

如何使用基本的数学运算符(如 +、-、*、/)实现 XOR

更新:实际上,我需要跟踪两个具有 boolean 值的矩阵的变化。这可以通过将每个值与其他矩阵中的相应值进行异或来完成。但是,Lp_Solve 库不支持 XOR 操作。此外,它只接受线性方程。

最佳答案

(a - b)²

3D plot of (a − b)²

之所以有效,是因为:

(a − b)² = a * (a − b) + b * (b − a)

由于ℤ₂中的乘法是合取(&),而1 - a是否定(!),上式等价于a, b ∈ {0, 1} 的异或:

(a & !b) | (b & !a)

请参阅下面 Pascal Cuoq 的评论,解释为什么这不能是线性方程

关于java - 使用数学运算符进行异或,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2385389/

相关文章:

java - 未找到使用 img 标签在 servlet 中显示的图像

java - 数组中的异常错误

java - 如何使用@JacksonInject(useInput= OptBoolean.FALSE)

c - .exe c文件执行后自修改

c - 可等待定时器复位周期

c - 键盘信号处理,向回调处理函数添加参数(Ubuntu、intel)

python - 如何异或两个十六进制字符串,以便每个字节分别异或?

java - 命令行中的 nvvp

javascript - JavaScript 中的反向异或运算符?

mysql - 优先于 OR 条件的 SQL 查询