带整数的布尔运算

4 integer operations boolean algebra

这可能是非常基本的......但我似乎不明白:

如何

(2 & 1) = 0
(3 & 1) = 1
(4 & 1) = 0
Run Code Online (Sandbox Code Playgroud)

等等..

上面的这种模式似乎有助于找到偶数

或者

(0 | 1) = 1
(1 | 1) = 1
(2 | 1) = 3
(3 | 1) = 4
(4 | 1) = 5
(5 | 1) = 5
Run Code Online (Sandbox Code Playgroud)

我知道布尔代数是如何在位之间工作的。但我不明白布尔代数如何处理整数(至少在 C# 中)。

提前致谢。

Soa*_*Box 5

它在 C# 中的工作方式与在二进制中的工作方式相同。

2 | 1 = 34 | 1 = 5

要理解这一点,您需要考虑 1、2、3、4 和 5 的二进制表示:

010 | 001 = 011100 | 001 = 101

相似地:

010 & 001 = 000011 & 001 = 001