# -*- coding:utf-8 -*- __projet__ = "CoursS5" __nom_fichier__ = "13_multiplication" __author__ = "A-J. Tinet" __date__ = "décembre 2022" """ ======================================================================================================================== Ex. 13 - MULTIPLICATION DANS UNE BASE QUELCONQUE ======================================================================================================================== """ # Définition de fonctions def nombre2liste(nombre): """ :param nombre: Nombre entier :return: liste de chiffres """ return list(str(nombre)) def base2base10(nombre, base): """ :param nombre: Liste de chiffres composant le nombre :param base: Base du nombre :return: Nombre en base 10 """ nb = 0 for i in range(len(nombre)): nb += nombre[-i-1]*(base**i) return nb def base102base(nombre, base): """ :param nombre: ombre en base 10 :param base: Base du nombre :return: Liste de chiffres composant le nombre dans la base donnée """ liste = [] # Recherche de la puissance max: p = 0 while base**p < nombre: p += 1 # Génération du nombre for i in range(p-1,-1,-1): val = base**i liste.append(nombre//val) nombre = nombre%val return liste # Programme principal if __name__ == '__main__': # Test de la fonction de passage en liste print(nombre2liste(1234)) # Test du changement vers la base 10 print(base2base10([2,3,0],4)) # Test du changement depuis la base 10 print(base102base(44,4))