c#位掩码验证

本文关键字:验证 掩码 | 更新日期: 2023-09-27 18:10:18

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

...
if (BitExist("52","0x20"))
{
 //do something
}
...
...
Private bool BitExist(String value, String key)
{
  //how can i make it return true?
}

我的主要问题是,值&Key是一个字符串值。有没有一种简单的方法让它起作用?我是位掩码的新手。如果有人能帮我,我将不胜感激。

c#位掩码验证

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

这段代码的作用如下:在括号内,由key描述的1位被隔离。

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

之后你必须你必须确定是否检查隔离位:

00100000 == 00100000 = true