C7 : Exercices
Conversions (sans ordinateur)
C7.E1 : Puissances de 2
Le roi Belkib (en Indes) promit une récompense fabuleuse à qui lui proposerait une distraction qui le satisferait.
Lorsque le sage Sissa, fils du Brahmine Dahir, lui présenta le jeu d'échecs, le souverain satisfait, demanda à Sissa ce que celui-ci souhaitait comme récompense de ce jeu extraordinaire.
Sissa demanda au prince de déposer un grain de riz sur la première case, deux sur la deuxième, quatre sur la troisième, et ainsi de suite en doublant le nombre de grain à chaque case, et de lui donner l'ensemble du riz obtenu.
Le prince accorda immédiatement cette récompense... Mais le royaume du roi Belkib sera-t-il en mesure de donner tout ce riz au sage Sissa ?
1) Écrire un programme qui affiche successivement (ligne par ligne) le nombre de grain de riz de chacune des 64 cases.
Le résultat attendu dans la console est :
Case 1 : 1
Case 2 : 2
Case 3 : 4
...
Case 64 :
2) Proposer une formule pour calculer directement le nombre de grain de riz qu'il y a sur la ième case.
3) Compléter le programme précédent pour qu'il calcul le nombre total de grains de riz déposés sur l'ensemble des cases du plateau de jeu.
4) En supposant que la masse de 1 grain est de 0,04 g, calculer la masse totale de riz.
C7.E2 : Conversions
1) Convertir le nombre binaire 1110 en base 8, 10 puis 16.
2) Convertir le nombre binaire 11101011 en base 8, 10 puis 16.
3) Convertir le nombre entier décimal 48 en base 2 et en base 16.
4) Convertir le nombre décimal 124 en base 2 et en base 16.
C7.E3 : Dés à 4 faces
On dispose de dés à 4 faces.
Combien de combinaisons sont possible avec 1 dé ? Avec 2 dés ? Avec 3 dés ? Avec n dés ?
C7.E4 : Conversions
Recopier et compléter le tableau ci-dessous.
| base 2 | base 4 | base 10 | base 16 | |
|---|---|---|---|---|
| a | 1110111 | |||
| b | 2303 | |||
| c | 165 | |||
| d | 9A |
C7.E5 : Nombres relatifs
Dans cet exercice, on travaillera sur 6 bits, avec des nombres entiers relatifs.
1) Combien d'entiers relatifs peut-on représenter ? En donner la liste ?
2) Donner la représentation en complément à deux des nombres relatifs suivants :
- • 27 en base 10
- • -14 en base 10
3) Donner la valeur décimale des nombres entiers relatifs dont la représentation en complément à deux est :
- • 101111
- • 010111
4) On s'intéresse au nombre entier relatif dont la valeur en complément à 2 est 101001.
- • Ce nombre est-il positif ou négatif ?
- • Donner la représentation en complément à deux de l'opposé de ce nombre.
- • Donner la valeur décimale de ce nombre.
Un peu de python
C7.E11 : Convertir du décimal en binaire
Écrire une fonction dec_to_bin(nb:int)->str qui prend un nombre entier positif en paramètre et renvoie une chaine de caractère correspondant à ce nombre en base 2.
On utilisera pour cette fonction un algorithme basée sur les divisions successives par 2.
Par exemple : dec_to_bin(25) doit renvoyer "11001"
C7.E12 : Convertir du binaire en décimal
Écrire une fonction bin_to_dec(c:str)->int qui prend une chaine de caractère représentant un nombre binaire et renvoie la valeur décimale correspondante.
Exemple en ligne de commande :
>>> bin_to_dec('1100')
12