开发者

Bitwise AND on 32-bit Integer

开发者 https://www.devze.com 2022-12-14 14:32 出处:网络
How do you perform a bitwise AND operation on two 32-bit integers in C#? 开发者_C百科Related: Most common C# bitwise operations.With the & operatorUse the & operator.

How do you perform a bitwise AND operation on two 32-bit integers in C#?

开发者_C百科

Related:

Most common C# bitwise operations.


With the & operator


Use the & operator.

Binary & operators are predefined for the integral types[.] For integral types, & computes the bitwise AND of its operands.

From MSDN.


var x = 1 & 5;
//x will = 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 */ }


use & operator (not &&)


int a = 42;
int b = 21;
int result = a & b;

For a bit more info here's the first Google result:
http://weblogs.asp.net/alessandro/archive/2007/10/02/bitwise-operators-in-c-or-xor-and-amp-amp-not.aspx


The & operator


var result = (UInt32)1 & (UInt32)0x0000000F;

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

If you try to cast the result to int, you probably get an overflow error starting from 0x80000000, Unchecked allows to avoid overflow errors that not so uncommon when working with the bit masks.

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

// result2 == -1;
0

精彩评论

暂无评论...
验证码 换一张
取 消