首先,是基础的X进制转十进制
这个我相信大大大大大大大部分的┻┳|・ω・)都知道吧!{罒ω罒}
SO,来代码吧!
#include<iostream>
using namespace std;
int f[1001];
int main(){
int n,i = 1,k;
cin >> n >>k;
while(n!=0){
f[i] = n%k;
n = n/k;
i++;
}
for(int j = i-1;j>0;j--){
cout<<f[j];
}
}
哦,完成了吗?NONONO!
再来!
十进制转X进制的方法!!
最最 核心 的代码块!
int digit[25];//从高处往下看
int ans = [0];//最后循环
for(int i = 0; i <cnt;i++){
ans = ans*k+digit[i];//循环看每一位
}
补充完整是长这样的,上代码!
#include<iostream>
using namespace std;
int digit[105];
int n,k,cnt = 0;
int main(){
cin >> n>> k;
while(n){
digit[cnt++] = n%k;
n/=k;
}
for(int i = cnt-1;i >= 0;i--){
if(digit[i] < 10) cout<<digit[i];
else cout<<char(digit[i]-10+'A');
}
cout<<endl;
return 0;
}
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
在上一波拓展·························
x进制转k进制(x输入是字符串!!)
#include<iostream>
using namespace std;
int k,ans = 0;
string n;
int main(){
cin >> n>> k;
for(ijt i = 0;i < n.size();i++){
if(n[i] >= '0' && n[i] <='9'){
ans = ans*k+n[i]-'0';
}else{
ans = ans*k+n[i]-'A'+10;
}
}
cout<<ans <<endl;
return 0;
}