32位整数上的按位AND

时间:2009-12-18 16:39:06

标签: c# bitwise-and

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

相关:

Most common C# bitwise operations.

8 个答案:

答案 0 :(得分:21)

与&操作

答案 1 :(得分:6)

使用&运算符。

  

Binary&运算符是为整数类型[。]预定义的。对于整数类型,&计算其操作数的按位AND。

来自MSDN

答案 2 :(得分:3)

var x = 1 & 5;
//x will = 1

答案 3 :(得分:1)

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 */ }

答案 4 :(得分:0)

使用&运营商(不是&&)

答案 5 :(得分: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

答案 6 :(得分:0)

答案 7 :(得分: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;