17

如何在 C# 中对两个 32 位整数执行按位与运算?

有关的:

最常见的 C# 位运算。

4

8 回答 8

23

使用 & 运算符

于 2009-12-18T16:40:12.270 回答
6

使用&运算符。

二进制 & 运算符是为整数类型预定义的[.] 对于整数类型, & 计算其操作数的按位与。

来自MSDN

于 2009-12-18T16:40:57.290 回答
3
var x = 1 & 5;
//x will = 1
于 2009-12-18T16:41:02.050 回答
2
const uint 
  BIT_ONE = 1,
  BIT_TWO = 2,
  BIT_THREE = 4;

uint bits = BIT_ONE + BIT_TWO;

if((bits & BIT_TWO) == BIT_TWO){ /* do thing */ }
于 2014-08-14T04:19:12.767 回答
0

使用 & 运算符(不是 &&)

于 2009-12-18T16:40:27.870 回答
0
int a = 42;
int b = 21;
int result = a & b;

有关更多信息,这是第一个 Google 结果:
http ://weblogs.asp.net/alessandro/archive/2007/10/02/bitwise-operators-in-c-or-xor-and-amp-amp-not .aspx

于 2009-12-18T16:41:13.797 回答
0

&运算符

于 2009-12-18T16:41:51.550 回答
0
var result = (UInt32)1 & (UInt32)0x0000000F;

// result == (UInt32)1;
// result.GetType() : System.UInt32

如果您尝试将结果转换为 int,您可能会收到从 0x80000000 开始的溢出错误,Unchecked 允许避免在使用位掩码时不常见的溢出错误。

result = 0xFFFFFFFF;
Int32 result2;
unchecked
{
 result2 = (Int32)result;
}

// result2 == -1;
于 2009-12-18T16:59:43.010 回答