利用python实现整数转换为任意进制字符串
假设你想将一个整数转换为一个二进制和十六进制字符串。例如,将整数 10 转换为十进制字符串表示为 10 ,或将其字符串表示为二进制 1010 。
实现 以 2 到 16 之间的任何基数为参数:
def toStr(num,base): convertString = "0123456789ABCDEF"#最大转换为16进制 if num < base: return convertString[num] else: return toStr(num//base,base) + convertString[num%base] print(toStr(1453,16))#5AD
让我们再次跟踪算法; 这次我们将数字 10 转换为其基数为 2 的字符串(“1010”):
上图显示我们得到的结果,但看起来数字是错误的顺序。该算法是正确的,因为我们首先在第 6 行进行递归调用,然后我们添加余数的字符串形式。 如果我们反向返回convertString查找并返回 toStr 调用,则生成的字符串将是反向的!通过延后连接操作直到递归调用返回,我们可以得到正确顺序的结果。