範囲内のすべての整数をバイナリ文字列としてファイルに保存するアルゴリズムをコーディングしようとしています。たとえば、0〜7の範囲では、C++整数をboolの配列に変換するアルゴリズム
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 []
(または別の方法)で表される2進数に変換することです。要求されたよう
EDIT
、私の解決策は、これまでのところです:それは私を与える第一のパターンは、000001の代わりに000000
あるよう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";
}
は残念ながら、これは少しおかしくあり
これは宿題ではありません。私はニューラルネットワークをトレーニングするための入力ファイルを与えるための単純なアルゴリズムをコーディングしています。
は、この宿題です?もしそうなら、そのようにタグを付けてください – Shahbaz
代わりに基本変換をしたいと思います。 Google ** C++ベース2 ** – Blender
バイナリデータはboolの配列と同じではありません...あなた自身のバイナリ表現を作成することになっていますか? – Kiril