我是 C++ 和一般编码的新手。我知道有逻辑错误,但我无法识别它。我正在尝试输入一个小数,并将输出连接为十六进制。它似乎只运行一次循环,即使控制变量显然还不是 0。
int main()
{
long rem = 0,
int hex = 0;
cout << "enter the number to convert ";
cin >> rem;
hex = rem / 16;
while (rem > 0)
{
rem = rem % 16;
hex = hex + rem;
cout << hex << "" << rem << endl;
rem = rem / 16;
}
return 0;
}
最佳答案
如果您需要做的只是输出十六进制值,那么您可以使用std::hex
格式标志。例如:
long rem = 16;
std::cout << std::hex << rem << std::endl; //prints 10
关于c++ - 十进制转十六进制,找不到我的逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29552891/