c++ 10进制转换16进制
时间: 2023-08-11 14:39:21 浏览: 138
c++16进制string转10进制string(非用数值型中间变量转换,无溢出问题)
5星 · 资源好评率100%
将10进制数转换为16进制数,可以使用以下步骤:
1. 将10进制数不断除以16,直到商为0为止,将每次的余数存储下来。
2. 将余数倒序排列,即可得到16进制数。
下面是一个示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
string decimalToHex(int num) {
string hex = "";
while (num > 0) {
int remainder = num % 16;
if (remainder < 10) {
hex = to_string(remainder) + hex;
} else {
hex = (char)('A' + remainder - 10) + hex;
}
num /= 16;
}
return hex;
}
int main() {
int decimalNum = 255;
string hexNum = decimalToHex(decimalNum);
cout << "Decimal " << decimalNum << " is " << hexNum << " in hexadecimal." << endl;
return 0;
}
```
输出结果为:
```
Decimal 255 is FF in hexadecimal.
```
注意,上面的代码只是一个简单的示例,可能存在一些边界条件需要考虑,例如输入的10进制数为0的情况。
阅读全文