Побитовый оператор C # с целочисленными значениями - PullRequest
1 голос
/ 21 сентября 2011

Что на самом деле означает это выражение ??

Примечание - переменные x и y являются просто значениями образца.

int x = 3; 
int y = 1; 

if ((x & y) !=0)

Я унаследовал кодовую базу и не слишком разбираюсь в побитовых операторах. Я прочитал, но все еще чего-то не хватает. Помогите!

Ответы [ 3 ]

8 голосов
/ 21 сентября 2011

Сравнивает биты в каждом значении. Возвращает все биты, которые установлены в обоих числах.

В вашем примере:

    3:  0011
    1:  0001

3 & 1:  0001
2 голосов
/ 21 сентября 2011

Проверяет, есть ли у x и y хотя бы один общий бит.В случае вашего примера это будет правдой.

1 голос
/ 21 сентября 2011
if ((x & y) != 0)

Это обычно используется для определения того, имеет ли значение x определенный битовый флаг (y). Оператор AND возвращает целое число только с теми битами, которые установлены в обоих операндах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...