Conversion booléen/binaire
On considère dans cet exercice une représentation binaire d’un entier non signé en tant que tableau de booléens.
Par exemple tab = [True, False, True, False, False, True, True]
représente \(2^6 +2^4 + 2^1 + 2^0 = 83\).
Cette représentation consistant à placer en premier le booléen indiquant la puissance la plus élevée de 2 est dite big-endian ou grand-boutiste.
Écrire une fonction gb_vers_entier
qui prend en paramètre un tel tableau et renvoie
l’entier qu’il représente.
Exemple
🐍 Console Python
>>> gb_vers_entier([])
0
>>> gb_vers_entier([True])
1
>>> gb_vers_entier([True, False, True, False, False, True, True])
83
>>> gb_vers_entier([True, False, False, False, False, False, True, False])
130
Compléter ci-dessous
###
# Testsbksl-nlbksl-nlassert gbpy-undverspy-undentier([]) == 0bksl-nlassert gbpy-undverspy-undentier([True]) == 1bksl-nlassert gbpy-undverspy-undentier([True, False, True, False, False, True, True]) == 83bksl-nlassert gbpy-undverspy-undentier([True, False, False, False, False, False, True, False]) == 130bksl-nlbksl-nl# Autres testsbksl-nlbksl-nlassert gbpy-undverspy-undentier([True, False, True, False , True, False]) == 42bksl-nlbksl-nl 5/5