Я хочу создать простую программу, которая будет принимать количество бит от входа и в качестве выходных двоичных чисел, записанных на заданных битах (пример: I type 3: показывает 000, 001, 010, 011, 100, 101, 110, 111). Единственная проблема, которую я получаю во втором для -loop, когда я пытаюсь присвоить переменные в BitSet < бит>, но оно хочет постоянное число. Если бы вы могли помочь мне найти решение, я бы очень понравился. Вот код: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) –
Ответ этот вопрос зависит от числа, которое известно во время компиляции. Не подходит для нужд ОП. –
Если вы не хотите использовать 'std :: bitset', вы можете использовать это решение в http://stackoverflow.com/questions/23173261/int-to-binary-conversion-explanation. –