범위의 모든 정수를 이진 문자열로 파일에 저장하는 알고리즘을 코딩하려고합니다. 예를 들어, 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
숫자 사이의 앞에 오는 0과 공백은 필수적입니다.
간단한 방법으로 수행 할 수없는 작업은 정수를 bool []
(또는 다른 대체 방법)으로 표시된 이진수로 변환하는 것입니다.
편집이 요청으로
, 내 솔루션은 지금까지입니다 : 불행하게도
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";
}
이가 나에게주는 첫 번째 패턴으로 조금 터져이다 000001 대신 000000
입니다이것은 숙제가 아닙니다. 나는 신경 네트워크를 훈련시키기위한 입력 파일을 제공하는 간단한 알고리즘을 코딩하고있다.
이 숙제인가 ? 그렇다면 그 태그를 – Shahbaz
으로 바꾸십시오. 대신 기본 변환을하고 싶다고 생각합니다. Google ** C++ base 2 ** – Blender
바이너리 데이터는 bool 배열과 다릅니다 ...자신 만의 이진 표현을 만들어야합니까? – Kiril