加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

将十进制无符号整数转化为任意进制数(大数)

发布时间: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;  
}  

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读