首页 > 编程语言 > 详细

python---十进制转换成n进制

时间:2020-03-28 17:07:23      阅读:136      评论:0      收藏:0      [点我收藏+]
"""
十进制转换成n进制

例子: 100转换成8进制-----144
      256除8  商32 余0
      32除8   商4  余0
      4除8    商0  余4
      每次结果的余数进栈, 最后出栈
"""


def decimal_conversion(num, base):
    if base <= 0:
        print("base error")
        return

    if not num:
        print(0)
        return
    if num < base:
        print(num)
        return

    # 商
    quotient = num // base
    # 余数
    remainder = num % base

    # 存放结果的栈
    conver_stack = [remainder]

    while quotient >= base:
        remainder = quotient % base
        quotient = quotient // base
        conver_stack.append(remainder)

    conver_stack.append(quotient)

    for i in range(len(conver_stack)):
        print(conver_stack.pop(), end="")
    print()


decimal_conversion(8644197605847452079, 2)  # 111011111110110010110111110110001110000110100011100100110101111
decimal_conversion(1025, 2)                 # 10000000001
decimal_conversion(3, 2)                    # 11
decimal_conversion(1, 2)                    # 1
decimal_conversion(0, 2)                    # 0
decimal_conversion(100, 8)                  # 144

python---十进制转换成n进制

原文:https://www.cnblogs.com/KX-Lau/p/12587973.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!