对于转换进制,一般用短除法。
短除法演示:
如十进制120 —> 六进制
120/6=20 ----余0
20/6=3 ----余2
3/6=0 ----余3 (注:此处为c中所用除法。)
很明显所对应的六进制数为320,即为所得余数倒序,如何改变余数顺序?可能有人会用数组。但是如果用数组去无法确定下标最大数值,所以到这里就不考虑用数组。这时由倒序输出我们可以用递归:
c演示

void fun(long n)
{
    int m;
    if(n==0);//设置边界
    else
    {
        m=n%6;
        fun(n/6);
        printf("%d",m);
    }
}
 main()
{
     long n;
    scanf("%d",&n);
     fun(n);
}