用C++写//自定义函数,十进制转16进制,传入十进制数,返回十六进制数
时间: 2023-07-19 22:09:07 浏览: 232
可以使用以下代码实现:
```c++
#include <iostream>
#include <string>
std::string decimalToHex(int decimal) {
std::string hex = "";
while (decimal > 0) {
int remainder = decimal % 16;
if (remainder < 10) {
hex = std::to_string(remainder) + hex;
} else {
hex = (char)(remainder - 10 + 'A') + hex;
}
decimal /= 16;
}
return hex;
}
int main() {
int decimal;
std::cout << "Enter a decimal number: ";
std::cin >> decimal;
std::string hex = decimalToHex(decimal);
std::cout << "Hexadecimal representation: " << hex << std::endl;
return 0;
}
```
在此代码中,我们定义了一个名为`decimalToHex`的函数,它将十进制数转换为十六进制数。该函数使用了一个字符串来存储十六进制数,并使用while循环来迭代地将十进制数转换为十六进制数。在每次循环中,我们通过取模运算来获取十六进制数的每一位,并根据该位的值来决定是将0到9之间的数字转换为对应的字符,还是将10到15之间的数字转换为A到F之间的字母。最后,我们将计算得到的十六进制数返回给调用方。
在`main`函数中,我们从用户那里获取一个十进制数,然后调用`decimalToHex`函数将其转换为十六进制数,并将结果输出到控制台。
阅读全文