Проверка битовой маски C # - PullRequest
       2

Проверка битовой маски C #

2 голосов
/ 04 октября 2011

У меня небольшая проблема с проверкой битовой маски, как показано ниже:

...
if (BitExist("52","0x20"))
{
 //do something
}
...
...

Private bool BitExist(String value, String key)
{
  //how can i make it return true?
}

Моя основная проблема заключается в том, что значение & ключ является строковым значением.Есть ли простой способ сделать это работает?Я очень новичок в этой штуке с битовой маской.Очень ценю, если кто-то может мне помочь.

1 Ответ

2 голосов
/ 04 октября 2011
private bool BitExists(string value, string key)
{
    int k = Int32.Parse(key, System.Globalization.NumberStyles.AllowHexSpecifier);
    return (Int32.Parse(value) & k) == k;
}

Следующий фрагмент кода.Внутри скобки один бит, описанный ключом, изолирован.

 00110100
&00100000
---------
 00100000

После этого вам необходимо определить, проверен ли изолированный бит:

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