0

説明させてください、

だから私は6つのオプション/フラグをそれぞれ2 ^ nの数字とペアにしています(何らかの理由でバイナリを思い出させます)

1 - オプション 1

2 - オプション 2

4 - オプション 3

8 - オプション 4

16 - オプション 5

32 - オプション 6

私の場合、任意の数のオプションを取ることができますが、決定するのは 1 つの数です。

したがって、数値を入力し、その数値に応じて異なるメソッドが呼び出されることを期待します

いくつかの例:

3 - オプション 1 とオプション 2 (1+2=3)

17 - オプション 5 とオプション 1 (16+1=17)

46 - オプション 6、オプション 4、オプション 3、およびオプション 2 (32+8+4+2=46)

81 - すべてのオプション (32+16+8+4+2+1=81)

私は、誰かが以前にこのタイプのものを使用したことがあるか、および/またはリソースに私を導くことができることを望んでいました. 私の場合はJavaを使用しますが、基本的な数学を使用すると推測しているため、どの言語にも翻訳できます。

これが何であるかについてのアイデアはありますか?

-AGK

4

1 に答える 1

1
boolean isSet(int mask, int bit) {
    return ((1 << bit) & mask) != 0;
}

たとえば、このメソッドは、指定された位置の単一ビットが に設定されているかどうかをテストしますtrue。(間違っていたら訂正してください)

于 2013-10-05T18:35:38.623 に答える