本文最后更新于 102 天前,其中的信息可能已经有所发展或是发生改变。
十进制转其他进制
#include <bits/stdc++.h>
using namespace std;
string s="0123456789ABCDEF";
void solve(int x,int m)
{
// 递归
if(x/m) solve(x/m,m);
cout<<s[x%m];
// 非递归
stack<int> st;
while (x)
{
st.push(x%m);
x/=m;
}
while (!st.empty()){
cout<<s[st.top()];
st.pop();
}
}
int main()
{
int x,m;
cin>>x>>m;
solve(x,m);
return 0;
}
其他进制转十进制
#include <bits/stdc++.h>
using namespace std;
int n, m;
string es = "0123456789ABCDEF";
int main()
{
cin >> n >> m;
string s;
cin >> s;
int ans = 0;
for (int i = 0; i < n; i++)
{
ans *= m;
ans += es.find(s[i]);
}
cout << ans << '\n';
return 0;
}