【问题标题】:Binary to Hexadecimal Conversions二进制到十六进制转换
【发布时间】:2016-02-09 06:27:19
【问题描述】:
#Conversion from Hex to Bin
def gethex(hexadecimal1):
       numbintotal=' '
       for i in range(len(hexadecimal1)):              
              numbin1=hexadecimal1[i]
              if(numbin1=='0'):
                  result='0000'
              elif(numbin1=='1'):
                  result='0001'
              elif(numbin1=='2'):
                   result='0010'
              elif(numbin1=='3'):
                   result='0011'
              elif(numbin1=='4'):
                   result='0100'
              elif(numbin1=='5'):
                  result='0101'
              elif(numbin1=='6'):
                   result='0110'
              elif(numbin1=='7'):
                   result='0111'
              elif(numbin1=='8'):
                   result='1000'
              elif(numbin1=='9'):
                   result='1001'
              elif(numbin1=='a'):
                   result='1010'
              elif(numbin1=='b'):
                   result='1011'
              elif(numbin1=='c'):
                   result='1100'
              elif(numbin1=='d'):
                   result='1101'
              elif(numbin1=='e'):
                   result='1110'
              elif(numbin1=='f'):
                   result='1111'
              elif(numbin1=='q'):
#Get hexadecimal
while(numhex!='q'):
    numhex=raw_input('Enter a hexadecimal number (q to quit): ')
    numbin= gethex(numhex)
    if(numhex=='q'):
        print(numbin)
    else:
        print('The binary number is:'+ numbin)


                   result='Program shutting down...'
              else:
                   result='Please type in a hexadecimal number'
              numbintotal= numbintotal + result
       return numbintotal


#Create a varaible
numhex='0'
results='0'
numbin1='0'

如上所示,我知道如何从十六进制转换为二进制,但我不确定如何将二进制转换为十六进制?请注意,您不能使用任何 Python 函数,因为这只是一个简单的方法,所以我只是让您知道!我正在考虑与代码中的完全相反的操作,例如 numbin1== 0001 和 result= 1。请帮助我,将不胜感激!这是在 Python 2.7 中!

【问题讨论】:

    标签: python-2.7 binary hex


    【解决方案1】:

    试试这个功能。

    def binhexZ(invalue):
        wmap = {"0000": "0",
                "0001": "1",
                "0010": "2",
                "0011": "3",
                "0100": "4",
                "0101": "5",
                "0110": "6",
                "0111": "7",
                "1000": "8",
                "1001": "9",
                "1010": "A",
                "1011": "B",
                "1100": "C",
                "1101": "D",
                "1110": "E",
                "1111": "F"
                }
        i = 0
        output = ""
    
        while (len(invalue) % 4 != 0):
            invalue = "0" + invalue
    
        while (i < len(invalue)):
            output = output + wmap[invalue[i:i + 4]]
            i = i + 4
    
        output = output.lstrip("0")
        output = "0" if len(output) == 0 else output
    
        return output
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-30
      • 2020-06-27
      • 2012-05-28
      • 1970-01-01
      • 2012-06-26
      • 2011-10-11
      • 1970-01-01
      相关资源
      最近更新 更多