我无法理解发生了什么以及如何从以下几行得出结果:
例1:我得到1作为下面的结果.
int a = 1, b = 9;
int r = a & b;
Console.WriteLine(r);
Run Code Online (Sandbox Code Playgroud)
例2:我得到8作为下面的结果.
int a = 10, b = 9;
int r = a & b;
Console.WriteLine(r);
Run Code Online (Sandbox Code Playgroud)
我不知道在这种情况下的意义&和重要性&.如何操纵上述结果?什么是逻辑?
Mar*_*ell 10
按位算术:
9 = 1001 9 = 1001
1 = 0001 10 = 1010
-------- ---------
& = 0001 = 1 & = 1000 = 8
Run Code Online (Sandbox Code Playgroud)
其中&是真值表(每位):
& | 0 1
--+----
0 | 0 0
1 | 0 1
Run Code Online (Sandbox Code Playgroud)
即"仅当两个输入均为1时才输出1"