大数的进制转换
#include<bits/stdc++.h> using namespace std; //大数的进制转换,实际上这是大数除正常数的除法的做法 string a; int b; string trans(){ string rt,aa=a; while(!aa.empty()){ cout<<"aaaaa "+aa<<endl; int s=0,i; string bb; //去前导0 for(i=0;i<aa.size();i++) if(aa[i]!='0') break; if(i==aa.size()) break; for(;i<aa.size();i++){ s=s*10+aa[i]-'0'; cout<<s<<endl; if(b<=s){ // s/b 可以得到除法的结果 bb.push_back(s/b+'0'); cout<<s<<endl; s=s%b; cout<<"Dsa"<<" "<<s<<endl;; } else{ bb.push_back('0'); } } if(s<10) rt.push_back('0'+s); else rt.push_back('A'+s-10); aa=bb; } return string(rt.rbegin(),rt.rend()); } int main() { cin>>a>>b; cout<<trans()<<endl; }