源代码
点击查看代码
#include <iostream>
#include <string>
#include <algorithm>
std::string dec2n(int x, int n = 2);
int main() {
int x;
while (std::cin >> x) {
std::cout << "十进制: " << x << '\n'
<< "二进制: " << dec2n(x) << '\n'
<< "八进制: " << dec2n(x, 8) << '\n'
<< "十二进制: " << dec2n(x, 12) << '\n'
<< "十六进制: " << dec2n(x, 16) << '\n'
<< "三十六进制: " << dec2n(x, 36) << "\n\n";
}
return 0;
}
std::string dec2n(int x, int n)
{
// 题目限制 x>=0,n∈[2,36]
if (x == 0)
return "0";
const char ch[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
std::string s;
while (x > 0)
{
int r = x % n;
s += ch[r];
x /= n;
}
std::reverse(s.begin(), s.end());
return s;
}
![5]()