【发布时间】:2011-06-30 09:31:28
【问题描述】:
【问题讨论】:
-
您是否想过在任何地方查找此内容?
-
不,奥利,没有任何资源。位和逻辑运算只存在几天,你知道吗?
-
@Femaref,我笑得停不下来......幽默感很好
-
在某些情况下,讽刺是唯一有效的解决方案。
【问题讨论】:
& 使用按位运算修改整数,即。 1000 & 1001 = 1000、&& 比较布尔值。但是,& 兼作非短路逻辑,这意味着如果您有 false & true,则仍将评估第二个参数。 && 不会出现这种情况。
【讨论】:
按位,顾名思义,它是 BIT 级别的 AND 操作。
因此,如果您对两个整数执行 BITWISE AND:
int a = 7; // b00000111
int b = 3; // b00000011
int c = a & b; // b00000011 (bitwise and)
另一方面,在 C# 中,逻辑 AND 在逻辑(布尔)级别进行操作。所以你需要布尔值作为运算符,结果是另一个逻辑值:
bool a = true;
bool b = false;
bool c = a && b; // c is false
c = a && true; // c is true
但仅限于逻辑层面。
【讨论】:
嗯,好问题(虽然重复)。
按位与将影响其位级别的运算符,即循环并对每个位进行逻辑与运算。
另一方面,
逻辑与将使用 2 个布尔运算符来检查它们的正确性(作为一个整体)并做出决定(注意 C# 中的 bool 是 2 个字节长)。
【讨论】: