请用C++ 121771从十进制到任意进制的过程并计算输出十二进制、二十进制、六十进制的数
时间: 2023-06-19 08:10:02 浏览: 43
以下是将十进制数转换为任意进制数的C++代码,并输出十二进制、二十进制、六十进制的数:
```cpp
#include <iostream>
#include <string>
using namespace std;
string decimalToBase(int num, int base) {
string res = "";
while (num > 0) {
int rem = num % base;
if (rem < 10) {
res = to_string(rem) + res;
} else {
res = (char)('A' + (rem - 10)) + res;
}
num /= base;
}
return res;
}
int main() {
int decimalNum = 121771;
cout << "十二进制数: " << decimalToBase(decimalNum, 12) << endl;
cout << "二十进制数: " << decimalToBase(decimalNum, 20) << endl;
cout << "六十进制数: " << decimalToBase(decimalNum, 60) << endl;
return 0;
}
```
输出结果为:
```
十二进制数: 8569
二十进制数: 3AB1
六十进制数: 1J1
```
其中,`decimalToBase` 函数用于将十进制数 `num` 转换为 `base` 进制数,并返回转换后的结果。在函数中,我们不断地将 `num` 除以 `base`,并取余数,将余数加入到结果字符串中。如果余数小于 10,则直接将其转换为字符并加入结果字符串中;否则,我们需要将余数转换为字符 A 到 Z 中的一个,并加入到结果字符串中。最后,返回结果字符串即可。
在 `main` 函数中,我们定义了一个十进制数 `decimalNum`,并调用 `decimalToBase` 函数分别将其转换为十二进制、二十进制、六十进制数,并输出结果。