用C++98版编写的将十进制数转换为十六进制数
时间: 2024-04-14 18:26:14 浏览: 99
您好!要将十进制数转换为十六进制数,可以使用C++98版的以下代码:
```cpp
#include <iostream>
#include <string>
std::string convertToHex(int decimal) {
std::string hex = "";
int remainder;
while (decimal > 0) {
remainder = decimal % 16;
if (remainder < 10)
hex = char(remainder + 48) + hex;
else
hex = char(remainder + 55) + hex;
decimal /= 16;
}
return hex;
}
int main() {
int decimal;
std::cout << "Enter a decimal number: ";
std::cin >> decimal;
std::string hex = convertToHex(decimal);
std::cout << "Hexadecimal: " << hex << std::endl;
return 0;
}
```
这段代码中,我们定义了一个名为`convertToHex`的函数,该函数接受一个十进制数作为参数,并返回其对应的十六进制数。在`main`函数中,我们首先从用户输入获取一个十进制数,然后调用`convertToHex`函数进行转换,并将结果打印出来。
在`convertToHex`函数中,我们使用循环和取余操作将十进制数逐位转换为十六进制数。如果余数小于10,则将其转换为字符并加到结果字符串的前面;否则,将其转换为对应的大写字母(A-F)并加到结果字符串的前面。最后,我们返回结果字符串。
请注意,这段代码使用了C++98标准,因此不能使用C++11或更高版本的语言特性。
阅读全文