十进制整数转化为任意K进制

给定整数n和k,将数字n转为k进制的数,用字符串表示即可。这道题目并不难,思路上很好理解,但是在处理另一道题目的时候,在这个进制转化的函数上踩了坑。
进制的核心思路是:将n每次除等于以k,并且把除k的余数添加到结果字符串的最高位
代码如下

func toK(n, k int) string {
    s := ""
    for n > 0 {
        s = strconv.Itoa(n%k) + s
        n = n / k
    }
    return s
}

这段代码的效果等同于使用 fmt 包下的 FormatInt 函数,如下

func toK(n, k int) string {
    return strconv.FormatInt(int64(n), k)
}

你可能感兴趣的:(十进制整数转化为任意K进制)