我想制作一个简单的程序,它将从输入中获取位数,并作为输出显示二进制数,写在给定的位上(例如:我输入 3:它显示 000、001、010、011、100、101、110 , 111)。我得到的唯一问题是在第二个for循环中,当我尝试在bitset< bits >中分配变量时,它需要常量。如果您能帮助我找到解决方案,我将非常感激。这是代码:
#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;
}