Побитовое И на 32-битном целом - PullRequest
13 голосов
/ 18 декабря 2009

Как выполнить побитовую операцию И над двумя 32-битными целыми числами в C #?

Связанный:

Наиболее распространенные побитовые операции C #.

Ответы [ 8 ]

21 голосов
/ 18 декабря 2009

С оператором &

6 голосов
/ 18 декабря 2009

Используйте оператор &.

Двоичные & операторы предопределены для целочисленных типов [.] Для целочисленных типов & вычисляет побитовое И своих операндов.

С MSDN .

3 голосов
/ 18 декабря 2009
var x = 1 & 5;
//x will = 1
1 голос
/ 14 августа 2014
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 */ }
0 голосов
/ 18 декабря 2009
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;
0 голосов
/ 18 декабря 2009
0 голосов
/ 18 декабря 2009
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

0 голосов
/ 18 декабря 2009

использование & оператор (не &&)

...