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