长整数10进制转16进制代码
时间: 2023-09-23 12:07:42 浏览: 82
下面是使用C++语言实现长整数10进制转16进制的代码:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string decimalToHexadecimal(long long decimal) {
string hexadecimal = "";
while (decimal > 0) {
int remainder = decimal % 16;
if (remainder < 10) {
hexadecimal += to_string(remainder);
} else {
hexadecimal += (char)('A' + remainder - 10);
}
decimal /= 16;
}
reverse(hexadecimal.begin(), hexadecimal.end());
return hexadecimal;
}
int main() {
long long decimal;
cout << "Enter a decimal number: ";
cin >> decimal;
string hexadecimal = decimalToHexadecimal(decimal);
cout << "The hexadecimal representation of " << decimal << " is " << hexadecimal << "." << endl;
return 0;
}
```
该程序首先定义了一个名为`decimalToHexadecimal`的函数,该函数接收一个长整数`decimal`作为参数,并返回该数的16进制表示形式。然后在`main`函数中,程序提示用户输入一个10进制数,将其转换为16进制,并输出结果。
该算法的基本思想是将10进制数每次除以16,余数即为16进制数的对应位。如果余数小于10,则直接将其转换为字符形式;否则,将其转换为'A'到'F'之间的字符。最后,将所得的各个16进制位倒序排列,即得到该10进制数的16进制表示形式。
阅读全文