• 十进制转换为其他进制(不使用format)


    base = [str(x) for x in range(10)] + [chr(x) for x in range(ord('A'), ord('A') + 6)]
    # ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']
    
    def dec2bin(string_num):
        '''十进制转换为 二进制'''
        num = int(string_num)
        # 转换为 整数
        mid = []
        while True:
            if num == 0: break
            # 如果输入的十进制为 0 则退出
            num, rem = divmod(num, 2)
            # num 为 num / 2 的值
            # rem 为 余数
            mid.append(base[rem])
            # 将余数添加到 mid 中
        return ''.join([str(x) for x in mid[::-1]])
    
    def dec2oct(string_num):
        '''转换为 八进制'''
        num = int(string_num)
        # 转换为 整数
        mid = []
        while True:
            if num == 0: break
            num, rem = divmod(num, 8)
            # num 为 num / 8 的值
            # rem 为 余数
            mid.append(base[rem])
            # 将余数添加到 mid 中
        return ''.join([str(x) for x in mid[::-1]])
    
    
    def dec2hex(string_num):
        '''转换为 十六进制'''
        num = int(string_num)
        # 转换为 整数
        mid = []
        while True:
            if num == 0: break
            num, rem = divmod(num, 16)
            # num 为 num / 16 的值
            # rem 为 余数
            mid.append(base[rem])
            # 将余数添加到 mid 中
        return ''.join([str(x) for x in mid[::-1]])
    
    
    
    num = float(input())
    # 让用户输入数字
    
    print(dec2bin(num),dec2oct(num),dec2hex(num))
    # 输出 十进制转为 2 ,8 ,16 进制之后的数


    2020-06-07

     

  • 相关阅读:
    SQL注入实验-2021.01.24
    数据库的搭建与基本语句2021-01-24
    Linux
    磁盘配置
    在Vmware中Centos下的Hadoop环境搭建
    Linux系统(CentOS)-2021.1.19
    中间件,JavaScript,PHP及burpSuite暴力破解实验-2021.1.16
    html,css学习笔记-2021.1.15
    第一周学习视频(二)
    第一周学习视频(一)
  • 原文地址:https://www.cnblogs.com/hany-postq473111315/p/13059936.html
Copyright © 2020-2023  润新知