将10进制转换成任意2到20进制数,用C++写
时间: 2024-02-20 10:02:35 浏览: 21
好的,以下是一个将10进制转换成任意2到20进制数的C++代码示例:
```c++
#include <iostream>
#include <vector>
using namespace std;
// 将10进制数num转换为base进制数
vector<int> convertToBase(int num, int base) {
vector<int> res;
while (num > 0) {
res.push_back(num % base);
num /= base;
}
return res;
}
int main() {
int num = 12345; // 要转换的10进制数
int base = 16; // 转换为16进制数
vector<int> res = convertToBase(num, base);
cout << num << "的" << base << "进制数表示为:";
for (int i = res.size() - 1; i >= 0; i--) {
if (res[i] < 10) {
cout << res[i];
} else {
cout << char('A' + res[i] - 10);
}
}
cout << endl;
return 0;
}
```
在该代码中,我们定义了一个函数`convertToBase`,该函数接受两个参数:要转换的10进制数`num`和目标进制数`base`,返回一个存放转换结果的向量`res`。在`convertToBase`函数中,我们通过不断取余和整除的方式,将`num`转换为`base`进制数,并将转换结果存放在`res`中。最后在主函数中,我们将得到的转换结果依次输出,如果是10以上的数字,则转换为对应的字母。