zoukankan      html  css  js  c++  java
  • 二进制、八进制、十进制、十六进制之间的转换!

    进制转换图:

     

    自己实现的进制转换,供参考:

    def to_bin(number):
        """ 十进制转换为二进制 """
        bin_num = ''
        while number:
            bin_num += str(number % 2)
            number >>= 1
        bin_num = bin_num[::-1]
        '''
        补0:
        n = (8 - (len(bin_num) % 8))
        if n < 8:
            prefix = '0' * n
            bin_num = prefix + bin_num
        '''
        return bin_num
    
    
    def to_oct(number):
        """ 十进制转换为八进制 """
        oct_num = ''
        while number:
            oct_num += str(number % 8)
            number >>= 3
        return oct_num[::-1]
    
    
    def to_hex(number):
        """ 十进制转十六进制 """
        hex_num = ''
        while number:
            hex_num += str(number % 16)
            number >>= 4
        return hex_num[::-1]
    
    
    def to_dec(number, rule):
        """
        将进制数按照进制规则转换为十进制数
        :param number: 进制数
        :param rule: 进制
        :return: 十进制数
        """
        res = 0
        num_list = list(number)
        lenth = len(num_list)
        for i in range(lenth):
            if num_list[i] != '0':
                res += int(num_list[i]) * rule ** (lenth - 1 - i)
        return res
  • 相关阅读:
    个人作业——软件评测
    软件工程第五次作业——结对编程的实现
    软件工程第三次作业
    软件工程第一次作业
    两个矩形面积交
    二维并查集
    Java 作业 1
    练习题
    线性表

  • 原文地址:https://www.cnblogs.com/854594834-YT/p/14097571.html
Copyright © 2011-2022 走看看