オプションのセット、いくつかの直交 (任意の組み合わせで組み合わせることができます)、いくつかの排他的 (セットから 1 つだけが許可されます) があり、ビットごとに組み合わせて抽出enum
できるように一連の値を選択する必要があります。or
ビット単位でand
。or
-ing無効な組み合わせが検出可能になることをお勧めします。
このような生成ツールはありますenums
か?
明確にするために編集する
一部のフラグの組み合わせが無効であるという事実を利用して、使用されるビット数を減らすことができるものを探しています。エラーを検出できるという要件は緩いです。物がぐちゃぐちゃになった場合、何が使用されたかを知る必要はありません。
私は C# を使用していますが、どのソリューションも役立つはずです。
パターンの例は次のとおりです。
0011 00
0101 00
1001 00
0110 00
1010 00
1100 00
0000 01
0000 10
6つの排他的フラグと2の直交ペアを6ビットに取得します
簡単なテストでは、5 ビットで 9 つの値が得られ、6 ビットで 20 の値が得られることが示されています...