Question 1 - Écrire une fonction valeur_absolue
qui prend en paramètre un nombre entier en base 10. Cette fonction retourne la valeur absolue du nombre passé en paramètre.
def valeur_absolue(nombre:int) -> int :
'''
>>> valeur_absolue(7)
7
>>> valeur_absolue(-6)
6
'''
Question 2 - Écrire une fonction inverse
. Elle prend en paramètre une chaine de caractères représentant un nombre en base 2. Cette fonction retourne une nouvelle chaine de caractères correspondant à l'inverse du nombre passé en paramètre. Les 1 deviennent des 0 et inversement.
def inverse(binaire:str) -> str :
'''
>>> inverse("1010")
'0101'
>>> inverse("10110011")
'01001100'
'''
Question 3 - Écrire une fonction addition_binaire
. Elle prend en paramètre deux chaines de caractères représentant des nombres en base 2. Cette fonction retourne le résultat de l'addition des deux nombres dans la base 2.
def addition_binaire(nombre1:str, nombre2:str) -> str :
'''
>>> addition_binaire("1001","0001")
'1010'
>>> addition_binaire("0001","0001")
'0010'
'''
Question 1 - Écrire une fonction complement_a_deux
. Elle prend en paramètre un nombre relatif en base 10 et un nombre de bits. Cette fonction retourne la représentation du nombre en base 2 en complément à deux.
def complement_a_deux(nombre:int, nb_bits:int) -> str :
'''
>>> complement_a_deux(-12, 8)
'11110100'
>>>> complement_a_deux(7,8)
'00000111'
'''
Question 1 - Écrire une fonction complement_a_deux_vers_decimal
. Elle prend en paramètre une chaine de caractères représentant un nombre en base 2. Cette fonction retourne la valeur du nombre en base 10. Vous devez écrire une fonction soustraction_binaire
.
def complement_a_deux_vers_decimal(binaire:str) -> int:
'''
>>> complement_a_2_vers_decimal("1111")
-1
>>>> complement_a_2_vers_decimal('0111")
7
'''