进制转换问题

迭代公式:

1. n进制转10 进制:

for i in num: #sum is a n system number
    sum = sum*n+i #sum is the ten system number

 

2. 10 进制转n 进制:

while num: #num is a 10 system number
    sum = num%n +sum #sum is a n system number
    num = int(num/n)

 

注:算法适用于从0开始的进制,若从x开始,则10转n时num应减去x。

比如, 将10进制数转为26个字母表示,即1->A, 27->AA。则该进制为26进制但是是从1开始的。因此算法2中的num 要减去1。

 

点赞