IoT
Rappel sur les systèmes de numérotation et architecture des ordinateurs
Moustapha FALL
[email protected]
May 14, 2025
Overview
1.1 Codage des réels
1. Rappel systèmes de 1.2 Représentation des caractères
numérotation 2. Architecture des ordinateur
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 2 / 28
systèmes de numérotation
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 3 / 28
Représentation en base 2 (non signés)
Définition :
n−1
N= a i 2i avec ai ∈ {0, 1}
X
i=0
Exemples sur 8 bits :
• 25510 = 111111112 (Max)
• 1010 = 000010102
Plage : 0 à 2n − 1. Application IoT : Capteurs (e.g., ADC 10 bits = valeurs de 0 à
1023).
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 4 / 28
Exercice 1 — Base 2 vers base 10
Convertir le nombre suivant en base décimale :
110102
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 5 / 28
Correction — Exercice 1
110102 = 1 × 24 + 1 × 23 + 0 × 22 + 1 × 21 + 0 × 20 = 16 + 8 + 0 + 2 + 0 = 2610
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 6 / 28
Exercice 2 — Base 8 vers base 10
Convertir le nombre suivant en base décimale :
1758
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 7 / 28
Correction — Exercice 2
1758 = 1 × 82 + 7 × 81 + 5 × 80 = 64 + 56 + 5 = 12510
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 8 / 28
Exercice 3 — Base 10 vers base 2
Convertir le nombre suivant en base binaire :
4510
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 9 / 28
Correction — Exercice 3
Divisions successives par 2 :
45 ÷2 = 22 reste 1
22 ÷2 = 11 reste 0
11 ÷2 = 5 reste 1
5 ÷2 = 2 reste 1
2 ÷2 = 1 reste 0
1 ÷2 = 0 reste 1
Lecture des restes de bas en haut :
4510 = 1011012
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 10 / 28
Exercice 4 — Base 10 vers base 16
Convertir le nombre suivant en hexadécimal :
25410
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 11 / 28
Correction — Exercice 4
Divisions successives par 16 :
254 ÷ 16 = 15 reste 14 → E
15 ÷16 = 0 reste 15 → F Lecture des restes de bas en haut :
25410 = FE16
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 12 / 28
Complément à 2 (nombres signés)
Principe : Bit de poids fort = signe. Valeur négative = inversion des bits + 1.
Exemple :
• +1210 = 00001100
• −1210 : Inversion 11110011 + 1 = 11110100
Plage 8 bits : −128 (10000000) à +127 (01111111).
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 13 / 28
Exercice 1 — -18 en complément à 2
Donner la représentation binaire de l’entier −18 en complément à 2 sur 8 bits.
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 14 / 28
Correction — Exercice 1
1. Représenter +18 en binaire :
18 = 00010010
2. Inverser les bits :
11101101
3. Ajouter 1 :
11101101 + 1 = 11101110
Donc : −1810 en C2 sur 8 bits = 111011102
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 15 / 28
Exercice 2 — C2 vers valeur (base 10)
Interpréter le mot binaire suivant (en complément à 2 sur 8 bits) :
11111011
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 16 / 28
Correction — Exercice 2
Bit de signe = 1 → le nombre est **négatif**.
1. Inverser les bits : 00000100 2. Ajouter 1 : 00000101 = 5
Donc :
111110112 = −510
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 17 / 28
Exercice 3 — Donner le C2 de -1 (sur 8 bits)
Écrire l’entier −1 en binaire (complément à 2 sur 8 bits).
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 18 / 28
Correction — Exercice 3
1. +1 en binaire : 00000001 2. Inversion : 11111110 3. +1 : 11111111
Donc :
−110 = 111111112
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 19 / 28
Exercice 4 — Quelle valeur pour 10000010 ?
Interpréter ce mot binaire en complément à 2 (sur 8 bits) :
10000010
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 20 / 28
Correction — Exercice 4
C’est un nombre négatif.
1. Inversion : 01111101
2. +1 : 01111110 = 126
Donc :
100000102 = −12610
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 21 / 28
Opérations bit à bit
Masquage :
• Mise à 1 : OR avec masque 01000001 (bits 0 et 6). X | 0x41 → force ces bits à 1.
• Mise à 0 : AND avec masque 10111110 (inverse de 0x41). X & 0xBE → éteint bits 0
et 6.
Exemple IoT : Configuration de registres matériels (e.g., activer/désactiver des broches
GPIO).
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 22 / 28
Opération bit à bit
Décalages :
Décalage gauche : Multiplication par 2n .
Exemple : 001100 << 2 = 110000 (12 → 48).
Décalage droit : Division par 2n .
Exemple : 10100110 >> 1 = 01010011 (166 → 83).
Application : Optimisation des calculs sur microcontrôleurs (e.g., STM32).
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 23 / 28
Virgule flottante (IEEE 754)
Simple précision (32 bits) :
0 10000010
|{z} | {z } |0100010
{z . . }.
signe exposant (8) mantisse (23)
Exemple : 10.12510
• Binaire : 1010.001 = 1.010001 × 23
• Exposant : 3 + 127 = 130 = 10000010
• Mantisse : 0100010... (tronquée à 23 bits)
Erreur de précision : 0.210 = 0.00112 → erreur cumulée dans les calculs IoT.
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 24 / 28
Représentation des caractères
ASCII (1971) Unicode/UTF-8 (1996)
• 7 bits (128 caractères) • Codage variable (1-4 octets)
• Caractères visibles : A-Z, a-z, 0-9, • Couvre toutes les langues
!?#... • Rétrocompatible ASCII
• Contrôles : • Exemple ’é’ :
• 0x0A (LF) → Saut de ligne • Code point : U+00E9
• 0x0D (CR) → Retour chariot • UTF-8 : 0xC3 0xA9
• Exemple : • Avantages IoT :
Caractère Hex Décimal • Compact (optimise bande passante)
’A’ 0x41 65 • Universalité
’a’ 0x61 97
’0’ 0x30 48
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 25 / 28
Représentation des caractères(2)
Objectif
• Les communications entre capteurs IoT
• Le stockage de données internationalisées
• L’affichage sur différents périphériques
Application
{ ”sensor”: ”température”,
”value”: 23.5,
”unit”: ”°C”,
”status”: ”normal”
}
Communication entre capteurs IoT via MQTT/JSON
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 26 / 28
Questions ?
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 27 / 28
Architecture des ordinateurs (Déjà vu)
May 14, 2025 systèmes de numérotation et architectures des ordinateurs. 28 / 28