热门

最新

红包

立Flag

投票

同城

我的

发布
m0_47176843
m0_47176843
5 年前
truem0_47176843

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
int main(){
int a,b;
string data;
char data_b[100];//存放b进制的数据
cin>>a>>b>>data;
cout<<a<<' '<<data<<'\n'<<b<<' ';
int num_10=0;//作为中间变量,存储动态的中间10十进制
int value=1;//将value作为权重
for(int i=data.length()-1;i>=0;i--){//将源进制转换为十进制
int temp=0;
if(data[i]>='0'&&data[i]<='9')
temp=data[i]-'0';
else if(data[i]>='A'&&data[i]<='Z')
temp=data[i]-'A'+10;//求出该位对应的10进制数
else temp=data[i]-'a'+35;
num_10+=temp*value;
value*=a;
}
int b_cnt=0;//存储b类型中字符的个数
do{
int temp=0;
temp=num_10%b;
num_10/=b;
if(temp>=35)
data_b[b_cnt++]=temp-35+'a';
else if(temp>=10)
data_b[b_cnt++]=temp-10+'A';
else
data_b[b_cnt++]=temp+'0';

}while(num_10);
for(int i=b_cnt-1;i>=0;i--)
cout<<data_b[i];
cout<<endl;
return 0;
}

CSDN App 扫码分享
分享
评论
3
打赏
  • 复制链接
  • 举报
下一条:
庞大的k8s生态
立即登录