Files
1ereNSI/representation_base/chapitre_2/tp/README.md
2021-10-01 11:22:41 +02:00

1.6 KiB

Exercices : Représentation des nombres relatifs

Complément à deux

Question 1 : Écrire une fonction valeur_absolue(nombre) qui retourne la valeur absolue du nombre passé en paramètre.

>>> valeur_absolue(7)
7
>>> valeur_absolue(-6)
6

Question 2 : Écrire une fonction inverse(binaire) qui retourne une nouvelle chaîne de caractères qui correspond à l'inverse de la chaîne passée en paramètre.

Le paramètre de la fonction sera une chaîne de caractères représentant un nombre écrit en base 2.

>>> inverse("1010")
"0101"
>>> inverse("10110011")
"01001100"

Question 12 : Écrire une fonction addition_binaire(binaire1,binaire2) qui additionne et retourne le résultat des 2 nombres représentés en base 2. Vous vous aiderez de la table d'addition vu dans le cours.

>>> addition_binaire("1001","0001")
"1010"
>>> addition_binaire("0001","0001")
"0010"

Question 13 : En utilisant les fonctions précédentes, écrire une fonction complement_a_2(decimal, nombre_bit) qui retourne la représentation en complément à 2 du nombre donné en paramètre.

>>> complement_a_deux(-12, 8)
"11110100"
>>>> complement_a_deux(7,8)
"00000111"

Question 14 : En utilisant le principe inverse, écrire une fonction complement_a_2_vers_decimal(binaire) qui retourne la valeur du nombre représenté en complément à 2 passé en paramètre. Vous aurez besoin d'écrire une fonction qui effectue la soustraction de 2 nombres binaires.

>>> complement_a_2_vers_decimal("1111")
-1
>>>> complement_a_2_vers_decimal('0111")
7