範囲内のすべての整数をバイナリ文字列としてファイルに保存するアルゴリズムをコーディングしようとしています。たとえば、範囲 0 から 7 の場合:
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
桁間の先頭のゼロとスペースは必須であることに注意してください。
簡単な方法で行う方法がわからないのは、整数をbool []
s (または別の方法) で表される 2 進数に変換することです。
編集
要求どおり、これまでの私の解決策は次のとおりです。
const int NUM_INPUTS = 6;
bool digits[NUM_INPUTS] = {0};
int NUM_PATTERNS = pow(2, NUM_INPUTS);
for(int q = 0; q < NUM_PATTERNS; q++)
{
for(int w = NUM_INPUTS -1 ; w > -1 ; w--)
{
if( ! ((q+1) % ( (int) pow(2, w))) )
digits[w] = !digits[w];
outf << digits[w] << " ";
}
outf << "\n";
}
残念ながら、これは最初のパターンが 000000 ではなく 000001 であるため、少し厄介です。
これは宿題ではありません。ニューラル ネットワークをトレーニングするための入力ファイルを提供する単純なアルゴリズムをコーディングしているだけです。