对于转换进制,一般用短除法。
短除法演示:
如十进制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);
}

京公网安备 11010502036488号