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 で記述された 1 つのビットが分離されています。

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

その後、分離ビットがチェックされているかどうかを判断する必要があります。

00100000 == 00100000 = true
于 2011-10-04T10:07:05.493 に答える