TP : Trouver le nombre de bits
Vous pouvez vérifier vos réponses dans la console Python avec la fonction bin(n)
.
Exercice 1
Trouvez le nombre de bits nécessaire pour écrire les entiers naturels suivants :
- 17
- 64
- 146
- 1046
- 2019
Exercice 2
Trouvez le nombre de bits nécessaire pour écrire les entiers relatifs suivants avec le complément à 2 :
- -17
- 17
- -64
- 64
- -146
- 1046
- -2019
Exercice 3
Trouvez le nombre de bits nécessaire pour trouver la somme des entiers naturels A et B lorsque :
- A et B sont codés sur 5 bits.
- A est codé sur 8 bits et B sur 7 bits.
- A est codé sur 8 bits et B sur 5 bits.
Exercice 4
Trouvez le nombre de bits nécessaire pour trouver la somme des entiers relatifs (codés avec le complément à 2) A et B lorsque :
- A et B sont codés sur 5 bits.
- A est codé sur 8 bits et B sur 7 bits.
- A est codé sur 8 bits et B sur 5 bits.
Exercice 5
Trouvez le nombre de bits nécessaire pour trouver le produit des entiers naturels A et B lorsque :
- A et B sont codés sur 5 bits.
- A est codé sur 8 bits et B sur 7 bits.
- A est codé sur 8 bits et B sur 5 bits.
Exercice 6
Trouvez le nombre de bits nécessaire pour trouver le produit des entiers relatifs (codés avec le bit de signe) A et B lorsque :
- A et B sont codés sur 5 bits.
- A est codé sur 8 bits et B sur 7 bits.
- A est codé sur 8 bits et B sur 5 bits.
Exercice 7
Trouvez le nombre de bits nécessaire pour trouver le produit des entiers relatifs (codés avec le complément à 2) A et B lorsque :
- A et B sont codés sur 5 bits.
- A est codé sur 8 bits et B sur 7 bits.
- A est codé sur 8 bits et B sur 5 bits.
Exercice 8
Trouvez le nombre de bits nécessaire pour trouver le produit des entiers naturels A et B lorsque A est codé sur a bits et B sur b bits.
Voir une solution
Le plus grand entier que l'on peut coder en a bits est 2a-1.
Le plus grand entier que l'on peut coder en b bits est 2b-1.
Donc le plus grand produit sera égal à p=(2a-1)(2b-1)=2a+b-2a-2b+1.
Si a=b=1 alors le plus grand produit est p=1 et donc il suffit d'un bit.
Si a>1 et b=1 alors le plus grand produit est p=2a-1 et donc il suffit de a bits.
Si a=1 et b>1 alors le plus grand produit est p=2b-1 et donc il suffit de b bits.
Si a>1 et b>1 alors 2a+b-1≤p<2a+b. En effet p<2a+b est évident
et pour 2a+b-1≤p. Si a≤b (resp. b≤a) alors p≥2a+b-2a+1+1≥2a+b-2a+b-1+1>2a+b-1.si a≥2 et b≥2 alors a+1≤a+b-1
Conclusion : il faudra donc a+b bits.
Masquer
#ecrire le code dans la console
Python avec mathartung.xyz@20018
end