Menu


1NSI

Les exercices python à connaître

premiers pas en Python
E1 boucles
E2 boucles
E3 boucles
E4 variables
E5 structure conditionnelle
E6 boucles
Un peu de binaire
E1 Nombre de bits
E2 Décalage binaire
E3 string
fonctions, str et listes
E1 Un compteur
E2 liste de nombres aléatoires
E3 moyenne d'une liste
E4 maximum d'une liste
E5 indices ou valeurs ?
Algorithmique partie 2
E1 Recherche séquentielle
E2 Recherche dichotomique
E3 Recherche dichotomique
E4 dNombre de 1

Nombre de bits

Un ordinateur manipule des nombres écrits en binaire : uniquement avec les chiffres «0» et «1». Par exemple le nombre 26 s'écrit 11010 en binaire.
Chaque «0» et «1» d'une écriture binaire est appelé bit. Ainsi, le nombre 26 s'écrit en binaire sur 5 bits.
Pour savoir combien de bits sont nécessaires pour écrire en binaire un nombre entier strictement positif on compte le nombre de divisions euclidiennes par nécessaires pour obtenir un quotient nul.
En partant de 26, on a :
  • 26 = 2 x 13 + 0
  • 13 = 2 x 6 + 1
  • 6 = 2 x 3 + 0
  • 3 = 2 x 1 + 1
  • 1 = 2 x 0 + 1
Comme on peut le voir, 5 divisions euclidiennes ont été nécessaires pour passer de 26 à 0: 26 s'écrit donc sur 5 bits en binaire.
On rappelle que l'opérateur // permet d'obtenir le quotient de deux nombres : 13 // 2 est évalué à 6.
Écrire la fonction nb_bits qui prend en argument un nombre entier strictement positif et renvoie le nombre de bits nécessaires à son écriture en binaire.
Attention : Il est interdit d'utiliser la fonction bin! d'après https://codex.forge.apps.education.fr/