2011-01-17 6 views
0

I持って以下の項目ブール代数 - アイテムが見つかったかどうかを確認します。

アップル= 00000001(1)

マンゴー= 00000010(2)

バナナ= 00000100(4)

ブドウ= 00001000(8)

これで、ユーザーはor'dを実行することで、このようなことができるようになりました。

UserA- 00000001(Apple)or'd 00000010 Mango)= 00000011(つまり3)

このユーザーがAppleかBananaかどうかを確認しますか? | =(アップル|バナナ)

すなわち(00000011)&(00000001 | 00000100)=(00000001 | 00000100)

それ(UserA's-値)&(バナナアップル):今まで私はこれを考えています動かない ?私が何が欠けているか知ることができますか?

答えて

4

AppleとBananaを確認しています。式は、(UserA's-Values)&(Apple | Banana)(!= 0)

0

でなければなりません。ビットはEnumとStructの両方で保存して操作することもできます。列挙型の場合

:構造体のhttp://msdn.microsoft.com/en-us/library/cc138362.aspx
.ToString()は要素の昏睡区切りのリストを出力しますが、あなたはまだそれに対して操作し、テストするために、標準的なAND/OR演算子を使用するようBit fields in C#

列挙型はいいです。

関連する問題