Ajoute les slides du cours de numération

This commit is contained in:
Alexis Fourmaux 2025-07-28 16:57:40 +02:00
parent c36582a940
commit 23577e9979
4 changed files with 311 additions and 7 deletions

2
package-lock.json generated
View file

@ -1,5 +1,5 @@
{
"name": ".marp",
"name": "ciel-b1",
"lockfileVersion": 3,
"requires": true,
"packages": {

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -1,4 +1,4 @@
# Codage des entiers naturels
# Représentation des entiers naturels
## Base 10 et généralisation
@ -118,8 +118,8 @@ La première méthode nécessite de connaître les puissances de 2 par coeur. El
Procédez de cette manière :
1. Vous pouvez créer un tableau avec les puissances de 2
1. En parcourant votre tableau de gauche à droite (du plus grand au plus petit)
- placez un 0 si le nombre de la colonne est supérieur ou égal à votre nombre
- placez un 1 dans la première colonne dont la valeur est inférieure à votre nombre
- placez un 0 si le nombre de la colonne est strictement supérieur à votre nombre
- placez un 1 dans la première colonne dont la valeur est inférieure ou égale à votre nombre
1. Soustrayez la puissance de 2 à votre nombre et recommencez avec le résultat
1. Procédez comme ça jusqu'à ce que votre tableau soit rempli
1. Votre nombre binaire sera écrit dans les cases de votre tableau
@ -153,7 +153,7 @@ Pour cela il faut effectuer une série de divisions euclidiennes par 2 (c'est à
La méthode:
1. Prenez votre nombre, divisez le par 2. Vous obtiendrez un reste de 0 ou 1. Notez le.
2. Divisiez ensuite de nouveau le quotient de votre première division par deux. Notez le reste.
2. Divisez ensuite de nouveau le quotient de votre première division par deux. Notez le reste.
3. Procédez de cette manière jusqu'à avoir un quotient de 0
4. Pour trouver votre nombre binaire, prenez le reste de chacune de vos divisions dans l'ordre **inverse** de vos calculs. Le dernier reste trouvé sera votre bit de poids fort (MSB) et le premier reste calculé votre bit de poids faible (LSB)

View file

@ -5,7 +5,311 @@ paginate: true
size: 4:3
transition: coverflow
footer: ''
math: katex
---
# Représentation des entiers naturels
---
# Titre
---
- Nombres peuvent avoir des représentations différentes.
- En informatique :
- Décimal (base 10)
- Binaire (base 2)
- Hexadécimal (Base 16)
- Octal (base 8)
---
## Base 10 et généralisation
---
* Succession de symboles qui représentent une valeur : les chiffres
* Système positionnel : la valeur du symbole diffère selon sa position dans le nombre
- Ex: 222
* Position = **Rang**
* Valeur = **Poids**
---
!!! success Formule
$$ a_n \times 10^n + ... + a_2 \times 10^2 + a_1 \times 10^1 + a_0 \times 10^0 $$
!!!
$a_i$ sont les chiffres de rang $i$
!!! warning Attention
La plus petite puissance (celle des unités) est de 0 (10⁰ = 1) et non pas de 1 (10¹ = 10)
!!!
---
Si on généralise :
!!! success Formule à retenir
$$ a_n \times b^n + ... + a_2 \times b^2 + a_1 \times b^1 + a_0 \times b^0 $$
!!!
---
- Les $a_i$ diffèrent selon les bases :
- en base 10 : chiffres de 0 à 9
- en base 2 : chiffres de 0 à 1
- en base 16 : 0 à F
- lettres pour les "chiffres" au delà de 9
---
Par exemple :
* $48_{|10}$ : $4\times10^1+8\times10^0$
* $56_{|16}$ : $5\times16^1+6\times16^0$
* $1011_{|2}$ : $1\times2^3+0\times2^2+1\times2^1+1\times2^0$
---
Exercice : Découper selon la formule
- $345_{|10}$
- $\mathrm{6A}_{|16}$
- $1101_{|2}$
---
## La base 2, système binaire
---
* Très utilisé en informatique, réseau, électronique numérique...
* Chaque poids = puissance de 2
* On utilisera 0 et 1 : des **bits**
* Paquets de 8 bits : **octets**
* Exemple :
$$11_{|2} = 1\times2^1+1\times2^0 = 3_{|10}$$
---
Exercice : Convertir en décimal les nombres suivants
- $101_{|2}$
- $11010_{|2}$
---
### MSB et LSB
- Bits situés aux extrémités:
- **MSB** (*Most Significant Bit*) ou **bits de poids fort** : à gauche
- **LSB** (*Least Significant Bit*) ou **bits de poids faible** : à droite
- Exemple :
|1|0|0|1|
|-|-|-|-|
|MSB|||LSB|
---
Exercice : Donner le LSB et le MSB
- 10010100
---
### Multiples d'octets
- Puissances de 10
- Puissances de 2
---
<style scoped>
table {
font-size: 28px;
}
</style>
| Nom | Symbole | Nombre d'octets | Relation |
|-|-|-|-|
| kilooctet | ko | 10³ | 1000 octets
| mégaoctet | Mo | 10⁶ (million) | 1000 ko
| gigaoctet | Go | 10⁹ (milliard) | 1000 Mo
| téraoctet | To | 10¹² (billion) | 1000 Go
| pétatoctet | Po | 10¹⁵ (billiard) | 1000 To
---
<style scoped>
table {
font-size: 28px;
}
</style>
| Nom | Symbole | Nombre d'octets | Relation |
|-|-|-|-|
|kibioctet|Kio| 2¹⁰ | 1024 o |
|mébioctet|Mio| 2²⁰ | 1024 Kio |
|gibioctet|Gio| 2³⁰ | 1024 Mio |
|tébioctet|Tio| 2⁴⁰ | 1024 Gio |
---
Exercice :
- La capacité dun disque SSD est annoncée comme étant 512Go.
- Quelle est sa capacité en Gio et en Tio ?
<!--
Capacité donnée : 512 Go = 512.10⁹ octets
⇒ Capacité en Gio : 512.10⁹ / 230 ≈ 476,84 Gio
⇒ Capacité en Tio : 512.10⁹ / 240 ≈ 0,46 Tio
-->
---
## La base 16, système hexadécimal
---
* Également très utilisé : Adresses MAC, IPv6, couleurs...
* Chaque symbole représente une puissances de 16
* Nombres de 0 à 9 + lettres de A à F
- $\mathrm{3B} = 3_{|10}\times16^1 + 11_{|10}\times16^0 = 59_{|10}$
* Convention : `0x` -> `0x1CF`
---
Exercice: Convertir en décimal
- 0x1CF
- 0x3B7
<!--
0x1CF = 463
0x3B7 = 951
-->
---
## Conversions
---
### Décimal vers binaire
- 2 méthodes :
- Soustractions successives
- petits nombres
- Divisions successives
- grands nombres
---
#### Méthode des soustractions successives
$137_{|10} = 10001001_{|2}$
|128|64|32|16|8|4|2|1|
|---|--|--|--|-|-|-|-|
|1 |0 | 0| 0|1|0|0|1|
---
1. Créer un tableau avec les puissances de 2
1. De gauche à droite (du + grand au + petit)
- 0 si colonne > votre nombre
- 1 si colonne < ou = à votre nombre
1. Soustrayez la colonne et recommencez
---
<style scoped>
section {
font-size: 32px;
}
</style>
!!! tip Astuce
Pour savoir quelle taille doit faire le tableau
- Connaître puissances de 2
- **Ou** prendre la **partie entière** de
- $log(N)/log(2)$
- $log_2(N)$
- Exemple avec $2367_{|10}$
- $log(2367)/log(2) = 11,208$
- Donc 2¹¹ soit 2048
!!!
---
Exercice: Convertir en binaire
- $253_{|10}$
- $111_{|10}$
<!--
253 = 1111 1101
111 = 0110 1111
-->
---
#### Méthode des divisions successives
---
Exemple avec le nombre $53_{|10}$ qui s'écrit $110101_{|2}$ en binaire :
![divisions successives](../cours/CIEL1/02-reseau/divisions_successives.jpg)
---
<style scoped>
section {
font-size: 32px;
}
</style>
- La méthode :
1. Divisez le nombre par 2. Notez le reste et le quotient.
2. Divisez le quotient par 2. Notez le reste.
3. Recommencez jusqu'à avoir un quotient de 0
4. Prenez le reste de chacune de vos divisions dans l'ordre **inverse** de vos calculs.
- Le dernier reste : bit de poids fort (MSB)
- le premier reste : bit de poids faible (LSB)
---
Exercice: Convertir en binaire
- $253_{|10}$
- $111_{|10}$
<!--
253 = 1111 1101
111 = 0110 1111
-->
---
### Binaire vers hexadécimal
- Regrouper les bits par 4
- Compléter si besoin avec des 0
- Remplacer chaque groupe par sa représentation hexadécimale
- Comment s'en souvenir ? Dessiner le tableau
---
Exemple avec $110101_{|2}$:
$$\overbrace{00}^{\text{ajout}}110101$$
$$\overbrace{0011}^{3_{|16}}\overbrace{0101}^{5_{|16}}$$
Résultat : $110101_{|2} = 35_{|16}$
---
Exercice : Convertir en hexadécimal
- $11000101_{|2}$
- $101010_{|2}$
<!--
- C5
- 2A
-->
---
Exercice : Convertir en binaire
- 0x6E
- 0x3CF
<!--
- 0110 1110
- 0011 1100 1111
-->