zoukankan      html  css  js  c++  java
  • python---十进制转换成n进制

    """
    十进制转换成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
    
    
    作者:凯旋.Lau
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Servlet的生命周期及工作原理
    抓包---firebug
    firebug抓包
    token认证来龙去脉
    性能测试报告注意事项
    性能测试报告
    Error -26601解决办法
    lr新手误区
    css定位
    xpath定位
  • 原文地址:https://www.cnblogs.com/KX-Lau/p/12587973.html
Copyright © 2011-2022 走看看