将十进制无符号整数转化为任意进制数(大数)
发布时间:2020-12-14 02:18:26 所属栏目:大数据 来源:网络整理
导读:大数进制转换: #include cmath#include ctime#include cctype#include climits#include cstdio#include cstdlib#include cstring#include map#include set#include queue#include stack#include string#include vector#include sstream#include iostream#in
大数进制转换: #include <cmath> #include <ctime> #include <cctype> #include <climits> #include <cstdio> #include <cstdlib> #include <cstring> #include <map> #include <set> #include <queue> #include <stack> #include <string> #include <vector> #include <sstream> #include <iostream> #include <algorithm> #define INF (INT_MAX / 10) #define clr(arr,val) memset(arr,val,sizeof(arr)) #define pb push_back #define sz(a) ((int)(a).size()) using namespace std; typedef set<int> si; typedef vector<int> vi; typedef map<int,int> mii; typedef pair<int,int> pii; typedef long long ll; const double esp = 1e-5; #define N 50100 void consversion(char s[],char s2[],long d1,long d2) { long i,j,t,num; char c; num = 0; for(i = 0;s[i]!=' ';i++) { if(s[i]<='9' && s[i]>='0') t = s[i] - '0'; else t = s[i] - 'A' +10; num = num*d1+t; } i = 0; while(1) { t = num%d2; if(t<=9) s2[i] = t+'0'; else s2[i] = t+'A'-10; num/=d2; if(num == 0) break; i++; } for(j = 0;j<i/2;j++) { c = s2[j]; s2[j] = s[i-j]; s2[i-j] = c; } s2[i+1]=' '; } int main() { char s1[1000],s2[1000]; int d1,d2; while(~scanf("%s%d%d",s1,&d1,&d2)) { consversion(s1,s2,d1,d2); printf("%sn",s2); } return 0; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |