Ajoute correction TD numération
This commit is contained in:
parent
35b80ab895
commit
dc513f0c4b
3 changed files with 152 additions and 36 deletions
|
|
@ -1,40 +1,73 @@
|
||||||
# TD Représentation des nombres
|
# TD Représentation des nombres - Correction
|
||||||
|
|
||||||
|
1. Dans les nombres suivants, indiquez le rang de chaque chiffre
|
||||||
|
- $52_{|10}$ : $\overbrace{5}^{1}\overbrace{2}^{0}$
|
||||||
|
- $10011_{|2}$ : $\overbrace{1}^{4}\overbrace{0}^{3}\overbrace{0}^{2}\overbrace{1}^{1}\overbrace{1}^{0}$
|
||||||
|
- $\mathrm{5FB}_{|16}$ : $\overbrace{5}^{2}\overbrace{\mathrm{F}}^{1}\overbrace{\mathrm{B}}^{0}$
|
||||||
|
|
||||||
1. Convertissez les nombres suivants en décimal
|
1. Convertissez les nombres suivants en décimal
|
||||||
- $\mathrm{5B0F}_{|16}$
|
|
||||||
* $23 311_{|10}$
|
|
||||||
- `0x1001`
|
|
||||||
* $4097_{|10}$
|
|
||||||
- $10011010_{|2}$
|
- $10011010_{|2}$
|
||||||
* $154_{|10}$
|
|
||||||
- `1001b`
|
* Si on utilise la méthode avec le tableau :
|
||||||
* $9_{|10}$
|
|
||||||
|
|128|64|32|16|8|4|2|1|
|
||||||
|
|-|-|-|-|-|-|-|-|
|
||||||
|
|1|0|0|1|1|0|1|0|
|
||||||
|
|
||||||
|
On a alors $10011010_{|2} = 128 + 16 + 8 + 2 = 154_{|10}$
|
||||||
|
|
||||||
|
- $11001011_{|2} = 128 + 64 + 8 + 2 + 1 = 203_{|10}$
|
||||||
|
- $111101101100_{|2} = 2048 + 1024 + 512 + 256 + 64 + 32 + 8 + 4 = 3948_{|10}$
|
||||||
|
- $101010101010_{|2} = 2048 + 512 + 128 + 32 + 8 + 2 = 2730_{|10}$
|
||||||
|
- $1100101111_{|2} = 512 + 256 + 32 + 8 + 4 + 2 + 1 = 815_{|10}$
|
||||||
|
- `1001b` = $9_{|10}$
|
||||||
|
|
||||||
2. Convertissez les nombres suivants en binaire
|
2. Convertissez les nombres suivants en binaire
|
||||||
- $251_{|10}$ (utilisez les deux méthodes)
|
- $19_{|10}$
|
||||||
* 1111 1011b
|
- Méthode des soustractions successives :
|
||||||
- $3887_{|10}$ (utilisez les deux méthodes)
|
|16|8|4|2|1|
|
||||||
* 1111 0010 1111b
|
|--|-|-|-|-|
|
||||||
- $\mathrm{532}_{|16}$
|
| 1|0|0|1|1|
|
||||||
* 0101 0011 0010b
|
|
||||||
- $\mathrm{5B0F}_{|16}$
|
|
||||||
* 0101 1011 0000 1111b
|
|
||||||
|
|
||||||
3. Convertissez les nombres suivants en hexadécimal
|
Soit : $19_{|10} = 16 + 1 = 10011_{2}$
|
||||||
- $10011010_{|2}$
|
- Méthode des divisions successives :
|
||||||
* 0x9A
|
* 19/2 = 9 **reste 1** (poids faible)
|
||||||
- $100110101_{|2}$
|
* 9/2 = 4 **reste 1**
|
||||||
* 0x135
|
* 4/2 = 2 **reste 0**
|
||||||
- $111 1001 1100 1011 1101 0001_{|2}$
|
* 2/2 = 1 **reste 0**
|
||||||
* 0x79CBD1
|
* 1/2 = 0 **reste 1** (poids fort)
|
||||||
|
On prend alors les restes dans l'ordre inverse des calculs (la dernière division représente le poids fort) : $19_{|10} = 10011_{2}$
|
||||||
|
- $251_{|10} = 1111 1011_{|2}$
|
||||||
|
|128|64|32|16|8|4|2|1|
|
||||||
|
|-|-|-|-|-|-|-|-|
|
||||||
|
|1|1|1|1|1|0|1|1|
|
||||||
|
- $3887_{|10} = 1111 0010 1111_{|2}$
|
||||||
|
|2048|1024|512|256|128|64|32|16|8|4|2|1|
|
||||||
|
|-|-|-|-|-|-|-|-|-|-|-|-|
|
||||||
|
|1|1|1|1|0|0|1|0|1|1|1|1|
|
||||||
|
- $439_{|10} = 1 1011 0111_{|2}$
|
||||||
|
|
||||||
4. Combien de nombres un octet permet-il de représenter ? Justifier.
|
3. Combien de nombres peut-on représenter avec
|
||||||
* 2⁸ = 256 -> 256 nombres
|
- 8 bits (un octet) -> 2⁸ = 256 -> 256 nombres
|
||||||
|
- 12 bits -> 2¹² = 4096 nombres
|
||||||
|
- 16 bits -> 2¹⁶ = 65 536 nombres
|
||||||
|
- 32 bits -> 2³² = 4 294 967 296 nombres
|
||||||
|
- 128 bits -> 3,402 823 669 × 10³⁸ nombres
|
||||||
|
|
||||||
5. En admettant qu'un nombre entier naturel soit codé sur 32 bits, quelle est la valeur maximale que peut avoir un entier naturel ? À votre avis, dans un système informatique, que se passe-t-il si on augmente de 1 la valeur maximale d'un entier ?
|
5. En admettant qu'un nombre entier naturel soit codé sur 32 bits, quelle est la valeur maximale que peut avoir un entier naturel ? À votre avis, dans un système informatique, que se passe-t-il si on augmente de 1 la valeur maximale d'un entier ?
|
||||||
* 2³² = 4 294 967 296 -> valeur max = 4 294 967 295 (Il ne faut pas oublier le zéro)
|
* 2³² = 4 294 967 296 -> valeur max = 4 294 967 295 (Il ne faut pas oublier le zéro)
|
||||||
* Il repasse à zéro : on appelle ça un débordement (overflow en anglais). C'est une source de bugs courante. C'est pour cela qu'il faut être attentif à la valeur maximale qu'un nombre peut avoir dans vos programmes.
|
* Il repasse à zéro : on appelle ça un débordement (overflow en anglais). C'est une source de bugs courante. C'est pour cela qu'il faut être attentif à la valeur maximale qu'un nombre peut avoir dans vos programmes.
|
||||||
|
|
||||||
|
7. Quelle est la capacité d'un disque dur de 1To
|
||||||
|
- en Go
|
||||||
|
* 1000 Go
|
||||||
|
- en Mo
|
||||||
|
* 1 000 000 Mo
|
||||||
|
- en Gio
|
||||||
|
* 10¹² / 2³⁰ = 932,3 Gio
|
||||||
|
- en Mio
|
||||||
|
* 953 674,3 Mio
|
||||||
|
|
||||||
6. Mon ordinateur m'indique qu'un fichier fait 13 560 788 octets. Combien cela représente-t-il environ (1 chiffre après la virgule)
|
6. Mon ordinateur m'indique qu'un fichier fait 13 560 788 octets. Combien cela représente-t-il environ (1 chiffre après la virgule)
|
||||||
- en kio
|
- en kio
|
||||||
* 13 560 788 / 2¹⁰ = 13243,0 kio
|
* 13 560 788 / 2¹⁰ = 13243,0 kio
|
||||||
|
|
@ -45,12 +78,92 @@
|
||||||
- en Mo
|
- en Mo
|
||||||
* 13,6 Mo
|
* 13,6 Mo
|
||||||
|
|
||||||
7. Quelle est la capacité d'un disque dur de 1To
|
9. Convertissez les nombres suvants en décimal
|
||||||
- en Go
|
|
||||||
* 1000 Go
|
- $\mathrm{12}_{|16} = 1 \times 16^{1} + 2 \times 16^0 = 16 + 2 = 18$
|
||||||
- en Mo
|
- $\mathrm{C3}_{|16} = 12 \times 16^{1} + 3 \times 16^0 = 192 + 3 = 195$
|
||||||
* 1 000 000 Mo
|
|
||||||
- en Gio
|
On utilise le tableau suivant pour convertir les lettres hexadécimales :
|
||||||
* 10¹² / 2³⁰ = 932,3 Gio
|
|Décimal | Hexadécimal | Binaire|
|
||||||
- en Mio
|
|--------|-------------|--------|
|
||||||
* 953 674,3 Mio
|
|0|0|0000|
|
||||||
|
|1|1|0001|
|
||||||
|
|2|2|0010|
|
||||||
|
|3|3|0011|
|
||||||
|
|4|4|0100|
|
||||||
|
|5|5|0101|
|
||||||
|
|6|6|0110|
|
||||||
|
|7|7|0111|
|
||||||
|
|8|8|1000|
|
||||||
|
|9|9|1001|
|
||||||
|
|10|A|1010|
|
||||||
|
|11|B|1011|
|
||||||
|
|**12**|**C**|**1100**|
|
||||||
|
|13|D|1101|
|
||||||
|
|14|E|1110|
|
||||||
|
|15|F|1111|
|
||||||
|
|
||||||
|
- $\mathrm{5B0F}_{|16} = 5 \times 16^{3} + 11 \times 16^{2} + 0 \times 16^{1} + 15 \times 16^0 = 23 311$
|
||||||
|
- $\mathrm{445B}_{|16} = 4 \times 16^{3} + 4 \times 16^{2} + 5 \times 16^{1} + 11 \times 16^0 = 17 499$
|
||||||
|
- $\mathrm{DE1D}_{|16} = 13 \times 16^{3} + 14 \times 16^{2} + 1 \times 16^{1} + 13 \times 16^0 = 56 861$
|
||||||
|
- $\mathrm{B64F}_{|16} = 11 \times 16^{3} + 6 \times 16^{2} + 4 \times 16^{1} + 15 \times 16^0 = 46 671$
|
||||||
|
- `0x1001`
|
||||||
|
|
||||||
|
10. Convertissez les nombres suivants en binaire
|
||||||
|
- $\mathrm{12}_{|16} = \overbrace{1}^{0001}\overbrace{2}^{0010}$
|
||||||
|
|
||||||
|
On utilise le tableau suivant pour convertir les valeurs hexadécimales :
|
||||||
|
|Décimal | Hexadécimal | Binaire|
|
||||||
|
|--------|-------------|--------|
|
||||||
|
|0|0|0000|
|
||||||
|
|1|1|0001|
|
||||||
|
|2|2|0010|
|
||||||
|
|3|3|0011|
|
||||||
|
|4|4|0100|
|
||||||
|
|5|5|0101|
|
||||||
|
|6|6|0110|
|
||||||
|
|7|7|0111|
|
||||||
|
|8|8|1000|
|
||||||
|
|9|9|1001|
|
||||||
|
|10|A|1010|
|
||||||
|
|11|B|1011|
|
||||||
|
|12|C|1100|
|
||||||
|
|13|D|1101|
|
||||||
|
|14|E|1110|
|
||||||
|
|15|F|1111|
|
||||||
|
|
||||||
|
- $\mathrm{C3}_{|16} = \overbrace{C}^{1100}\overbrace{3}^{0011} = 1100~0011_{|2}$
|
||||||
|
- $\mathrm{532}_{|16} = \overbrace{5}^{0101}\overbrace{3}^{0011}\overbrace{2}^{0010} = 0101~0011~0010_{|2}$
|
||||||
|
- $\mathrm{5B0F}_{|16} = 0101~1011~0000~1111_{|2}$
|
||||||
|
- $\mathrm{445B}_{|16} = 0100~0100~0101~1011_{|2}$
|
||||||
|
- $\mathrm{DE1D}_{|16} = 1101~1110~0001~1101_{|2}$
|
||||||
|
- $\mathrm{B64F}_{|16} = 1011~0110~0100~1111_{|2}$
|
||||||
|
- $\mathrm{F09A}_{|16} = 1111~0000~1001~1010_{|2}$
|
||||||
|
|
||||||
|
11. Convertissez les nombres suivants en hexadécimal
|
||||||
|
- $1001~1010_{|2} = \overbrace{1001}^{9}~\overbrace{1010}^{\mathrm{A}} = \mathrm{9A}_{|16}$
|
||||||
|
- $1~0011~0101_{|2} = \overbrace{0001}^{1}~\overbrace{0011}^{3}~\overbrace{0101}^{\mathrm{5}} = \mathrm{135}_{|16}$
|
||||||
|
- $111~1001~1100~1011~1101~0001_{|2} = \mathrm{79~CB~D1}_{|16}$
|
||||||
|
- $456_{|10}$
|
||||||
|
- Divisions successives :
|
||||||
|
- 456/16 = 28 reste 8
|
||||||
|
- 28/16 = 1 reste 12 -> C
|
||||||
|
- 1/16 = 0 reste 1
|
||||||
|
|
||||||
|
On prend alors les restes dans l'ordre inverse des calculs (la dernière division représente le poids fort) : $\mathrm{1C8}_{|16}$
|
||||||
|
- $167_{|10} = \mathrm{A7}_{|16}$
|
||||||
|
- $8499_{|10} = 2133_{|16}$
|
||||||
|
|
||||||
|
12. Donnez le résultat des opérations booléennes suivantes, avec `a = True`, `b = False`
|
||||||
|
- `a and b = False`
|
||||||
|
- `a or b = True`
|
||||||
|
- `not (a and b) = True`
|
||||||
|
- `a and not b = True`
|
||||||
|
- `b or not b = True`
|
||||||
|
|
||||||
|
13. Donnez le résultat des opérations bit à bit suivantes, avec $a = 58_{|10}$ et $b = 77_{|10}$ en considérant que $a$ et $b$ sont des octets.
|
||||||
|
- `a | b -> OU bit à bit : 0011 1010 | 0100 1101 = 0111 1111`
|
||||||
|
- `b & a -> ET bit à bit : 0011 1010 & 0100 1101 = 0000 1000`
|
||||||
|
- `b ^ a -> OU EXCLUSIF (XOR) bit à bit : 0011 1010 ^ 0100 1101 = 0111 0111`
|
||||||
|
- `~b | a -> 0011 1010 | 1011 0010 = 1011 1010`
|
||||||
|
- `~(b | a) -> ~(0011 1010 | 0100 1101) = ~(0111 1111) = 1000 0000`
|
||||||
|
|
@ -2,9 +2,8 @@
|
||||||
|
|
||||||
1. Dans les nombres suivants, indiquez le rang et la valeur de chaque chiffre.
|
1. Dans les nombres suivants, indiquez le rang et la valeur de chaque chiffre.
|
||||||
- $52_{|10}$
|
- $52_{|10}$
|
||||||
- $675_{|10}$
|
|
||||||
- $1010_{|2}$
|
|
||||||
- $10011_{|2}$
|
- $10011_{|2}$
|
||||||
|
- $\mathrm{5FB}_{|16}$
|
||||||
|
|
||||||
1. Convertissez les nombres suivants en décimal
|
1. Convertissez les nombres suivants en décimal
|
||||||
- $10011010_{|2}$
|
- $10011010_{|2}$
|
||||||
|
|
@ -64,6 +63,9 @@
|
||||||
- $10011010_{|2}$
|
- $10011010_{|2}$
|
||||||
- $100110101_{|2}$
|
- $100110101_{|2}$
|
||||||
- $111 1001 1100 1011 1101 0001_{|2}$
|
- $111 1001 1100 1011 1101 0001_{|2}$
|
||||||
|
- $456_{|10}$
|
||||||
|
- $167_{|10}$
|
||||||
|
- $8499_{|10}$
|
||||||
|
|
||||||
12. Donnez le résultat des opérations booléennes suivantes, avec `a = True`, `b = False`
|
12. Donnez le résultat des opérations booléennes suivantes, avec `a = True`, `b = False`
|
||||||
- `a and b`
|
- `a and b`
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
- [Numération](./CIEL1/02-reseau/cours/representation_nombres.md)
|
- [Numération](./CIEL1/02-reseau/cours/representation_nombres.md)
|
||||||
- [Opérations logiques](./CIEL1/02-reseau/cours/operations.md)
|
- [Opérations logiques](./CIEL1/02-reseau/cours/operations.md)
|
||||||
- [TD1 - Représentation des nombres](./CIEL1/02-reseau/td/td01-numeration.md)
|
- [TD1 - Représentation des nombres](./CIEL1/02-reseau/td/td01-numeration.md)
|
||||||
|
- [TD1 - Représentation des nombres - Correction](./CIEL1/02-reseau/td/_td01-correction.md)
|
||||||
- [TD2 - Adresse IP](./CIEL1/02-reseau/td/td02_adresse_IP.md)
|
- [TD2 - Adresse IP](./CIEL1/02-reseau/td/td02_adresse_IP.md)
|
||||||
- [Bases de l'algorithmique avec Python](./CIEL1/01-bases-python/algorithmique-python.md)
|
- [Bases de l'algorithmique avec Python](./CIEL1/01-bases-python/algorithmique-python.md)
|
||||||
- [Cours - 1 - Bases](./CIEL1/01-bases-python/cours/python-bases-1-variables-operateurs.md)
|
- [Cours - 1 - Bases](./CIEL1/01-bases-python/cours/python-bases-1-variables-operateurs.md)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue