C++ 为什么赢了';我的十进制到二进制输出不是反向的吗?
我正在使用while循环进行一些简单的十进制到二进制的转换,我意识到循环的输出需要反转,我通过创建一个stringstream,然后将生成的int移动到一个stringstream,该stringstream将其转换为字符串,然后反转字符串的顺序以获得正确的二进制值来实现这一点。。。但是当我实际运行代码时,在所有的东西前面都有一个随机的1或0C++ 为什么赢了';我的十进制到二进制输出不是反向的吗?,c++,binary,decimal,C++,Binary,Decimal,我正在使用while循环进行一些简单的十进制到二进制的转换,我意识到循环的输出需要反转,我通过创建一个stringstream,然后将生成的int移动到一个stringstream,该stringstream将其转换为字符串,然后反转字符串的顺序以获得正确的二进制值来实现这一点。。。但是当我实际运行代码时,在所有的东西前面都有一个随机的1或0 #include <iostream> #include <sstream> #include <algorithm>
#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;
}
对于12:
Please enter decimal value: 12
The binary equivalent of 12 is 00111
有两个问题
ss额外的位来自
ss << binary;
string binary_string = ss.str();
reverse(binary_string.begin(), binary_string.end());
cout << binary_string;
ss请提供一个。
int decimal;
int binary;
cout<< "\n Please enter decimal value: ";
cin >> decimal;
cout << "\n The binary equivalent of " << decimal << " is ";
while(decimal > 0 ) {
binary = decimal % 2;
decimal/= 2;
ss << binary;
}
string binary_string = ss.str();
reverse(binary_string.begin(), binary_string.end());
cout << binary_string;
}
ss << binary;
string binary_string = ss.str();
reverse(binary_string.begin(), binary_string.end());
cout << binary_string;