Exercices : Représentation des nombres naturels
Manipulation
Question 1 : Écrire une fonction est_valide(binaire) qui retourne :
- True si le nombre est valide
- False si le nombre est invalide. Le paramètre de la fonction sera une chaîne de caractères représentant un nombre écrit en base 2.
Question 2 : Écrire une fonction est_pair(binaire) qui retourne :
- True si le nombre passé en paramètre est pair
- False si le nombre passé en paramètre est impair. Le paramètre de la fonction sera une chaîne de caractères représentant un nombre écrit en base 2.
Conversion Binaire - Décimal
Question 3 : Écrire une fonction deux_puissance(rang) qui retourne la puissance de 2 associée au rang passé en paramètre. Vous n'utiliserez pas les fonctions Python déjà existantes.
Question 4 : A l'aide des fonctions précédentes, écrire une fonction binaire_en_decimal(binaire) qui retourne la valeur décimale du nombre passé en paramètre. Le paramètre sera une chaîne de caractères représentant un nombre binaire. On vérifiera que ce nombre binaire est valide.
Conversion Décimal - Binaire
Question 5 : Écrire une fonction division_euclidienne(nombre, diviseur) qui retourne le quotient et le reste obtenu lorsque l'on divise le paramètre nombre par le paramètre diviseur.
Question 6 : A l'aide de l'algorithme de la division euclidienne et des fonctions précédentes, écrire une fonction decimal_en_binaire(*decimal*) qui retourne une chaîne de caractères correspondant à la représentation binaire du nombre passé en paramètre.
Conversion Décimal - Hexadécimal
Question 7 : Écrire une fonction symbole_hexa(decimal) qui retourne le symbole correspondant au paramètre dans la base 16.
Question 8 : En s'inspirant des questions précédentes, écrire une fonction decimal_en_hexa(decimal) qui retourne une chaîne de caractères correspondant à la représentation en base 16 du nombre passé en paramètre.
Conversion Hexadécimal - Décimal
Question 9 : écrire une fonction hexa_en_decimal(hexa) qui retourne le nombre correspondant à la représentation en base 10 du nombre passé en paramètre.
Conversion en base $\(n\)$
Question 10 : En s'inspirant des fonctions 8 et 10, écrire une fonction decimal_en_base_n(decimal, base) qui retourne une chaîne de caractères correspondant à la représentation en base n du nombre passé en paramètre.