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