1
私は4ブールを持っているとしましょう。真と偽のすべての可能な組み合わせを繰り返しますか?
はどのようなプログラミング言語は関係ないのであれば
1000
0100
0010
0001
1100//etc...
私は4ブールを持っているとしましょう。真と偽のすべての可能な組み合わせを繰り返しますか?
はどのようなプログラミング言語は関係ないのであれば
1000
0100
0010
0001
1100//etc...
のようなすべての組み合わせを反復処理は、組み合わせのリストを生成するには、少なくとも2つの可能性があることをループのために作るのですか。
整数型のビットパターンの最初の列挙は次のように行うことができます。
1. Let n be the number of boolean variables.
2. Enumerate each number from 0 to 2^n-1.
3. For each of these numbers, say e, generate an assignment of the
boolean variables where the i-th variable is assigned true
if and only if the i-th bit of e is set.
4. Save each of these assignments.
次に、次のように割り当てを繰り返して生成します。
1. Initialize a list l with one entry; the single entry
represents a potential assignment of the variables.
2. While there are entries in the list in which there is an unassigned
variable, execute the following steps, where c is a list of candidate assignments.
3. For each entry in l which has an unassigned variable, say e, generate two entries in c,
namely one where the unassigned variable is set to true and one in
which it is set to false. Remove e from l.
4. Merge the candidate list c into l.
特定のプログラミング言語で何かを実装しますか?そのルックアップを生成するには、文脈によって大きく異なる方法があります。 – Codor
@Codor私は言語を本当に気にしません、私はちょうどそれの背後にある論理を見たいと思います。 – JorensM
単純に0から15までカウントし、ビットごとの演算子を使用してビット0から3を抽出します。 –