Python

데이터 진법 변환

지니 2022. 9. 23. 23:24
반응형

장비의 데이터를 파싱할 때 보면 진법 변환이 필요한 경우가 많다... 

 

 

1. dec > bin  (무식한 방법이다. 하지만 어때..ㅎ 되면 감사한거지 뭐)

def decimalToBinary2( data ): 
    fullData = ""
    for i in range(len(data)) :
        #print(data[i:i+1])
        if data[i:i+1] == "0" :
            fullData += "0000"
        elif data[i:i+1] == "1" :
            fullData += "0001"
        elif data[i:i+1] == "2" :
            fullData += "0010"
        elif data[i:i+1] == "3" :
            fullData += "0011"
        elif data[i:i+1] == "4" :
            fullData += "0100"
        elif data[i:i+1] == "5" :
            fullData += "0101"
        elif data[i:i+1] == "6" :
            fullData += "0110"
        elif data[i:i+1] == "7" :
            fullData += "0111"
        elif data[i:i+1] == "8" :
            fullData += "1000"
        elif data[i:i+1] == "9" :
            fullData += "1001"
        elif data[i:i+1] == "A" :
            fullData += "1010"
        elif data[i:i+1] == "B" :
            fullData += "1011"
        elif data[i:i+1] == "C" :
            fullData += "1100"
        elif data[i:i+1] == "D" :
            fullData += "1101"
        elif data[i:i+1] == "E" :
            fullData += "1110"
        elif data[i:i+1] == "F" :
            fullData += "1111"
    #print(fullData)
    return fullData

 

2. hex > bin 

bin(int( value , 16))[2:].zfill(12)

3. bin > dec

int(value, 2)

 

4. hex > dec 

int(value, 16)
반응형