Skip to main content

Decimal to Hex Converter

Example:

image.png

Code:

def decToHexLongDivision(decimal: int) -> str:
    numtodivide = decimal
    quotient = 0
    remainder = 0
    bitlenght = 0
    strBinary = ""
    
    print('\nDivision by 16\tQuotient\tRemainder\tBit #')
    while True:
        if numtodivide <= 0:
            break
        quotient = int(numtodivide / 16)
        remainder = hex(numtodivide % 16).split('x')[-1].upper()
        print(f'{str(numtodivide)+"/16":<8}\t{quotient:<8}\t{remainder:<8}\t{bitlenght:<8}')
        numtodivide = quotient
        bitlenght += 1
        strBinary += str(remainder)
                
    print(f'\n{decimal} (base 10) = {strBinary[::-1]} (base 16)\n')

def main() -> None:
    """ This program reads in a binary expression as a string and evaluates the result. """
    while True:
        userInput = input("Enter decimal value : ")
        
        # Without any input, break the loop
        if len(userInput) == 0:
            print("End of program.")
            break
        
        decToHexLongDivision(int(userInput))

if __name__ == "__main__":
    main()