题解
2024-06-03 06:15:35
发布于:上海
12阅读
0回复
0点赞
#include<iostream>
#include<bitset>//二转十
using namespace std;
string s;
int b;
long long num;
void turn(long long ul){
if(!ul)return;
turn(ul/b);//除以进制,进行下一轮递归
if(ul%b>9)cout<<(char)(ul%b-10+65);//逆序输出,注意这里是>9的数字输出,把它转换成大写字母
else cout<<ul%b;//逆序输出
}
int main(){
cin>>s>>b;
bitset<32>bs(s);
num=bs.to_ulong();//二进制转成十进制再转x进制
turn(num);
if(!num)cout<<0;
return 0;
}
这里空空如也
有帮助,赞一个