﻿#============================================================
# Conversion d'un entier en base 16 vers la base 2
#============================================================

def convb16b2():

    # Titre
    print("****************************************************")
    print("*                                                  *")
    print("* Conversion d'un entier en base 16 vers la base 2 *")
    print("*                                                  *")
    print("****************************************************")
    print()

#   Saisie de l'entier en base 16 à convertir
    nb_16 = str(input("Saisir l'entier en base 16  à convertir : "))
    print("Entier en base 16 à convertir : ",nb_16)

#   Détermination du nombre de chiffres du résultat
    n = len(nb_16)

#   Conversion par quadlet
    nb_2 = "("
    for i in range(n) :
        chiffre = nb_16[i]
        print("i =",i," chiffre = ",chiffre)
        if chiffre == "0" :
            nb_2 = nb_2 + " 0000"
        elif chiffre == "1" :
            nb_2 = nb_2 + " 0001"
        elif chiffre == "2" :
            nb_2 = nb_2 + " 0010"
        elif chiffre == "3" :
            nb_2 = nb_2 + " 0011"
        elif chiffre == "4" :
            nb_2 = nb_2 + " 0100"
        elif chiffre == "5" :
            nb_2 = nb_2 + " 0101"
        elif chiffre == "6" :
            nb_2 = nb_2 + " 0110"
        elif chiffre == "7" :
            nb_2 = nb_2 + " 0111"
        elif chiffre == "8" :
            nb_2 = nb_2 + " 1000"
        elif chiffre == "9" :
            nb_2 = nb_2 + " 1001"
        elif chiffre == "A" :
            nb_2 = nb_2 + " 1010"
        elif chiffre == "B" :
            nb_2 = nb_2 + " 1011"
        elif chiffre == "C" :
            nb_2 = nb_2 + " 1100"
        elif chiffre == "D" :
            nb_2 = nb_2 + " 1101"
        elif chiffre == "E" :
            nb_2 = nb_2 + " 1110"
        elif chiffre == "F" :
            nb_2 = nb_2 + " 1111"
    nb_2 = nb_2 + " )"

    print("Résultat en base 2 : ",nb_2)
    print()

    print("Fin programme")
    return 0