2

我对位掩码验证有一个小问题,如下所示:

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

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

我的主要问题是,值和键是一个字符串值。有没有一种简单的方法可以使它起作用?我对这个位掩码很陌生。如果有人可以帮助我,我真的很感激。

4

1 回答 1

2
private bool BitExists(string value, string key)
{
    int k = Int32.Parse(key, System.Globalization.NumberStyles.AllowHexSpecifier);
    return (Int32.Parse(value) & k) == k;
}

此代码片段的作用如下。在括号内,key 描述的一位是隔离的。

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

之后,您必须确定是否检查了隔离位:

00100000 == 00100000 = true
于 2011-10-04T10:07:05.493 回答