Я делаю простое десятичное преобразование в двоичное с использованием цикла while, и я понял, что мой вывод из цикла необходимо обратить вспять, что я и сделал, создав поток строк, а затем переместив сгенерированный int в поток строк, который затемпреобразует его в строку, а затем меняет порядок, в котором строка получает правильное двоичное значение ... но когда я на самом деле запускаю код, перед всем появляется случайный 1 или 0 ...
#include <iostream>
#include <sstream>
#include <algorithm>
int main() {
std::stringstream ss;
int decimal;
int binary;
std::cout<< "\n Please enter decimal value: ";
std::cin >> decimal;
std::cout << "\n The binary equivalent of " << decimal << " is ";
while(decimal > 0 ) {
binary = decimal % 2;
decimal/= 2;
std::cout << binary;
}
ss << binary;
std::string binary_string = ss.str();
std::reverse(binary_string.begin(), binary_string.end());
std::cout << binary_string;
}
Например, если я введу 11, я получу это:
Please enter decimal value: 11
The binary equivalent of 11 is 11011
Для 12:
Please enter decimal value: 12
The binary equivalent of 12 is 00111