# ex12010_decimal_2_binaire.py ''' Convertit un nombre décimal en sa représentation binaire et inversément, convertit du binaire vers décimal. ''' def dec2bin(nn): #=============== '''Convertit le nombre nn en sa représentation binaire. Retourne un nombre formé de 0 et de 1''' nRep = 0 # la représentation binaire du nombre pow10 = 1 # puissance de 10 while (nn > 0): if (nn % 2 == 1): nRep += pow10 nn = nn // 2 pow10 *= 10 return nRep print("----- Exercice 12.1a -----") n1 = 13; n1_bin = dec2bin(n1) print("n1 =", n1, " en base 2 :", n1_bin) n2 = 26; n2_bin = dec2bin(n2) print("n2 =", n2, " en base 2 :", n2_bin) def bin2dec(nn): #=============== '''Convertit le nombre nn de sa représentation binaire en un nombre en base 10. Tout chiffre différent de 0 est considéré comme valant 1''' nRep = 0 # le nombre en base 10 pow2 = 1 # puissance de 2 while (nn > 0): if (nn % 10 != 0): nRep += pow2 nn = nn // 10 pow2 *= 2 return nRep print("----- Exercice 12.1b -----") n1_dec = bin2dec(n1_bin) print("En base 2, n1 =", n1_bin, " en base 10 :", n1_dec) n2_dec = bin2dec(n2_bin) print("En base 2, n2 =", n2_bin, " en base 10 :", n2_dec) n3_bin = 2034; n3_dec = bin2dec(n3_bin) # n3_bin représentation non stantard print("En base 2, n3 =", n3_bin, " en base 10 :", n3_dec)