欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

十进制与任意进制的转换(C语言)

程序员文章站 2024-03-18 18:33:10
...
#include<stdio.h>
#include<math.h>

char b[1000];
char a[16]= {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

void tranf(int n,int r)
{
    int i=0,flag=0;
    if(n<0)                 //判断负数
        flag=1;
    while(n>0)
    {
         b[i++]=a[n%r];
         n/=r;
    }
    i--;
    if(flag==1)
        printf("-");
    for(; i>=0; i--)
    {
        printf("%c",b[i]);
    }
    printf("\n");
}

int main()
{
    int i,n,r;//十进制的整数n,转化成r进制的数;
    while(~scanf("%d %d",&n,&r))
    {
        tranf(n,r);
    }
    return 0;
}