昨天拿到一个题,把任意一个int型的十进制数n转换为m(0<m<=32)进制.
既然没有小数思路就很简单了,只需要把n除以m取余数,记录每个余数,最后把余数反序输出(如图).
下面就来分步实现它.
(注:这并不算最简单的实现过程)
首先n/m取余,并用一个数组来存储余数:
(这里存储加反序输出,我首先想到的是用链表,但题目已经说明n是int型,所以用来存储余数的数组[100]已经够用了,不会造成太大的空间浪费,用链表就得不偿失了.)
因为超过11的数要用字母来表示,所以输出时还要加这个判断:
这样就完成了一个十进制转其他进制的程序.