입력 비트 수를 취하고 출력 비트가 인 이진수를 표시하는 간단한 프로그램을 만들고 싶습니다 (예 : 3을 입력하십시오 : 000, 001, 010, 011, 100, 101, 110, 111). 내가 비트 세트에 < 비트>을 변수에 할당 할 때 내가 얻을 유일한 문제는, -loop에 대한 두 번째 에 있지만 그것은 상수를 원한다. 해결책을 찾을 수 있도록 도와 주시면 정말 대단합니다. 템플릿 매개 변수 컴파일 시간이 일정해야합니다 (호출 C++과 같이 "비 형")C++ 입력 값을 std :: bitset 인수에 어떻게 할당 할 수 있습니까?
#include <iostream>
#include <bitset>
#include <cmath>
using namespace std;
int main() {
int maximum_value = 0,x_temp=10;
//cin >> x_temp;
int const bits = x_temp;
for (int i = 1; i <= bits; i++) {
maximum_value += pow(2, bits - i);
}
for (int i = maximum_value; i >= 0; i--)
cout << bitset<bits>(maximum_value - i) << endl;
return 0;
}
가능한 복제 (http://stackoverflow.com/questions/6038718/convert-integer-to-bits) –
대답하기 : 전역 상수 그 질문은 컴파일 시간에 알려진 숫자에 달려 있습니다. OP가 필요로하는 것에는 적합하지 않습니다. –
'std :: bitset'을 사용해야하는 경우가 아니라면 http://stackoverflow.com/questions/23173261/int-to-binary-conversion-explanation에서 해결책을 사용할 수 있습니다. –