Techniques numériques

Binaire,
Logique & Karnaugh

Systèmes de numération, complément à 2, portes logiques, algèbre de Boole et tableaux de Karnaugh jusqu'à 5 variables.

Systèmes de numération

Quatre bases sont couramment utilisées en informatique. Chaque position représente une puissance de la base.

Décimal
Base 10
0–9
Usage quotidien
Binaire
Base 2
0–1
Circuits électroniques
Octal
Base 8
0–7
Permissions Unix
Hexadécimal
Base 16
0–9, A–F
Adresses, couleurs

Table de correspondance 0–16

DécBin (4 bits)OctHex

Méthodes de conversion

Décimal → Binaire : divisions successives

Exemple : 45₁₀ → binaire
45 ÷ 2 = 22  reste 1  ↑ lire
22 ÷ 2 = 11  reste 0  ↑ de
11 ÷ 2 =  5  reste 1  ↑ bas
 5 ÷ 2 =  2  reste 1  ↑ en
 2 ÷ 2 =  1  reste 0  ↑ haut
 1 ÷ 2 =  0  reste 1  ↑

Résultat (de bas en haut) : 101101₂
Vérif : 32+8+4+1 = 45 ✓

Binaire → Décimal : poids des positions

Exemple : 1011₂ → décimal
  1    0    1    1
  ×    ×    ×    ×
  2³   2²   2¹   2⁰
= 8  + 0  + 2  + 1  = 11₁₀

Décimal → Hexa : divisions par 16

Exemple : 254₁₀ → hexa
254 ÷ 16 = 15  reste 14 → E  ↑
 15 ÷ 16 =  0  reste 15 → F  ↑

Résultat : FE₁₆ = 0xFE

Binaire ↔ Hexa : groupes de 4 bits

💡

Un chiffre hexadécimal = exactement 4 bits. La conversion est directe — aucun calcul intermédiaire.

Binaire → Hexa (groupes de 4)
1010 1111 0011₂

 ↓    ↓    ↓
 A    F    3  → 0xAF3

Chaque groupe indépendamment :
1010 = A (10)
1111 = F (15)
0011 = 3

Binaire ↔ Octal : groupes de 3 bits

Binaire → Octal (groupes de 3)
101 111 010₂

 ↓   ↓   ↓
 5   7   2  → 572₈

Chaque groupe :
101 = 5
111 = 7
010 = 2
💡

Pour convertir Hexa → Binaire : remplacer chaque chiffre hex par son équivalent 4 bits. Pour Octal → Binaire : remplacer chaque chiffre octal par son équivalent 3 bits.

Complément à 2

Méthode standard pour représenter les entiers négatifs en binaire. Le bit de poids fort (MSB) indique le signe : 0 = positif, 1 = négatif.

Plage de valeurs sur N bits

N bitsMinMaxPlage
4-8+7-2³ à 2³-1
8-128+127-2⁷ à 2⁷-1
16-32768+32767-2¹⁵ à 2¹⁵-1
32-2 147 483 648+2 147 483 647-2³¹ à 2³¹-1

Structure d'un mot de 8 bits

1
0
1
1
0
1
0
1
Signe
2⁶
2⁵
2⁴
2⁰

Méthode : positif → complément à 2

1
Écrire le nombre en binaire sur N bits
+5 sur 4 bits = 0101
2
Inverser tous les bits (complément à 1)
0101 → 1010
3
Ajouter 1
1010 + 0001 = 1011 → représente -5
Vérification : lire un négatif
1011 en complément à 2 (4 bits)
MSB = 1 → négatif

Méthode rapide : -2^(N-1) + somme des autres bits
= -2³ + 0×2² + 1×2¹ + 1×2⁰
= -8 + 0 + 2 + 1 = -5 ✓

Méthode alternative (inverser + ajouter 1) :
1011 → inverser → 0100 → +1 → 0101 = 5
Donc 1011 = -5 ✓

Portes logiques

Les portes logiques sont les briques élémentaires des circuits numériques. Elles réalisent les opérations de l'algèbre de Boole.

Algèbre de Boole

Ensemble de lois permettant de simplifier les expressions logiques avant de les implémenter en circuit.

Identités de base
Identité ANDA · 1 = A  |  A · 0 = 0
Identité ORA + 0 = A  |  A + 1 = 1
IdempotenceA · A = A  |  A + A = A
ComplémentA · Ā = 0  |  A + Ā = 1
Double négationĀ̄ = A
Propriétés
CommutativitéA·B = B·A  |  A+B = B+A
Associativité(A·B)·C = A·(B·C)
DistributivitéA·(B+C) = A·B + A·C
AbsorptionA + A·B = A  |  A·(A+B) = A
Simplifications utiles
ConsensusA·B + Ā·C + B·C = A·B + Ā·C
AdjacenceA·B + A·B̄ = A
Exemple de simplification
F = A·B + A·B̄·C + Ā·B

= A·(B + B̄·C) + Ā·B
     ↓ absorption : B + B̄·C = B + C
= A·(B + C) + Ā·B
= A·B + A·C + Ā·B
= B·(A + Ā) + A·C
= B·1 + A·C
= B + A·C

Théorèmes de De Morgan

Permettent de transformer un AND en OR et vice-versa, très utile pour la simplification et l'implémentation avec des portes NAND/NOR uniquement.

A·B̄ = Ā + B̄
Le complément d'un AND = OR des compléments
A+B̄ = Ā · B̄
Le complément d'un OR = AND des compléments

Méthode d'application

1
Complémenter l'expression entière
2
Changer tous les · en + et les + en ·
3
Complémenter chaque variable individuelle
Exemple
F = A·B + C
F̄ = De Morgan sur (A·B + C)
  = (A·B)̄ · C̄
  = (Ā + B̄) · C̄
ℹ️

Toute fonction logique peut être implémentée avec des NAND uniquement (ou NOR uniquement) grâce à De Morgan. C'est la base des circuits CMOS.

Principe & règles de groupement

Le tableau de Karnaugh est un outil graphique de simplification des fonctions logiques. Il évite l'algèbre de Boole en visualisant les regroupements de 1.

Règles impératives

1
Les groupes ne contiennent que des 1 (ou des X — indifférences)
2
Taille = puissance de 2 : 1, 2, 4, 8, 16 cellules
3
Groupes les plus grands possible — plus grand = expression plus simple
4
Le tableau est torique : les bords gauche/droit et haut/bas se touchent
5
Chaque 1 doit être couvert au moins une fois
6
Nombre minimal de groupes pour la forme minimale

Lire l'expression d'un groupe

1
Identifier les variables qui restent constantes dans le groupe
2
Si la variable est à 0 dans tout le groupe → écrire son complément (Ā)
3
Si la variable est à 1 dans tout le groupe → écrire la variable (A)
4
Si elle change (0 et 1) → éliminer cette variable
💡

Un groupe de 2ⁿ cellules élimine n variables. Un groupe de 4 dans un tableau à 4 variables donne un terme à 2 littéraux.

Tableau de Karnaugh — 2 variables

2 variables (A, B) → 4 cellules (2²). Groupes possibles : 1, 2 ou 4 cellules.

Exemple : F = Σm(1,2,3)

A\B B=0 B=1
A=0 0 1
A=1 1 1
Groupe A=0 → Ā (m1,m3)
Groupe B=1 → ... non, B
Expression minimale
F = Ā·B + A = A + B
Groupe rouge : B=1 (varie) → Ā ; Groupe vert : A=1 → A. F = Ā + A... Simplifié : F = A + B

Structure générale 2 variables

A\B01
0m0
ĀB̄
m1
ĀB
1m2
AB̄
m3
AB
ℹ️

Sur 2 variables, la simplification maximale est un groupe de 4 cellules (F = 1 constant), ou deux groupes de 2 cellules.

Tableau de Karnaugh — 3 variables

3 variables (A, B, C) → 8 cellules (2³). Les colonnes suivent le code Gray : 00, 01, 11, 10.

Exemple : F = Σm(0,2,4,5,6)

A\BC 00011110
A=0 1 0 0 1
A=1 1 1 0 1
Groupe rouge (m0,m2,m4,m6) : C=0 →
Groupe vert (m4,m5,m6) : A=1, C varie, B varie... → A·B̄... non → A car C varie et B varie → reste A
Expression minimale
F = C̄ + A·B̄

Structure générale 3 variables

A\BC00011110
0 m0 m1 m3 m2
1 m4 m5 m7 m6
⚠️

Code Gray obligatoire : les colonnes sont 00, 01, 11, 10 et non 00, 01, 10, 11. L'ordre est essentiel pour que les cellules adjacentes ne diffèrent que d'un bit.

💡

Toricité : les cellules m0 et m2 (bords gauche et droit de la même ligne) sont adjacentes. Même chose pour m4 et m6.

Tableau de Karnaugh — 4 variables

4 variables (A, B, C, D) → 16 cellules (2⁴). Format 4×4 avec code Gray sur les deux axes.

Exemple : F = Σm(0,1,3,5,7,8,9,11)

AB\CD 00011110
00 1110
01 0110
11 0000
10 1110
Groupe rouge (8 cellules) : B=0, D varie, C varie, A varie → B̄·D̄... → B̄·D̄
Groupe vert : B=0,A=0,D=1,C varie → Ā·B̄·D... mais couvert → vérifier
Expression minimale
F = B̄·D̄ + Ā·D

Structure générale 4 variables

AB\CD 00011110
00m0m1m3m2
01m4m5m7m6
11m12m13m15m14
10m8m9m11m10
ℹ️

Toricité 4 variables : les 4 coins (m0, m2, m8, m10) forment un groupe valide de 4. Les colonnes extrêmes (CD=00 et CD=10) sont adjacentes. Les lignes extrêmes (AB=00 et AB=10) sont adjacentes.

Tableau de Karnaugh — 5 variables

5 variables (A, B, C, D, E) → 32 cellules (2⁵). Représenté comme deux tableaux 4×4 juxtaposés : un pour A=0, un pour A=1. Un groupe peut "traverser" les deux tableaux.

⚠️

À 5 variables, le tableau est physiquement deux Karnaugh 4 variables posés côte à côte. Les cellules en miroir entre les deux tableaux (même position) sont adjacentes et peuvent former un groupe.

Exemple : F = Σm(0,2,8,10,16,18,24,26)

A = 0

BC\DE00011110
001001
010000
110000
101001

A = 1

BC\DE00011110
001001
010000
110000
101001
Groupe rouge : même position dans les 2 tableaux → A varie, B=0, D=0, E=0 (C varie via toricité) → B̄·D̄·Ē
Expression minimale
F = B̄·D̄·Ē
A varie (dans les 2 tableaux), B=0, C varie (toricité lignes), D=0, E=0 → seules B, D, E sont constantes
💡

Un groupe qui apparaît identique dans les deux tableaux (A=0 et A=1) élimine la variable A en plus des autres.

Cheat sheet

Puissances de 2

2⁰1
2
4
8
2⁴16
2⁵32
2⁶64
2⁷128
2⁸256

Karnaugh — tailles

1 var2 cases, 1×2
2 vars4 cases, 2×2
3 vars8 cases, 2×4
4 vars16 cases, 4×4
5 vars32 cases, 2× (4×4)
Groupe taille nélimine log₂(n) vars

Portes — symboles

ANDA · B
ORA + B
NOTĀ
NANDA·B̄
NORA+B̄
XORA ⊕ B
XNORA ⊕ B̄

De Morgan

A·B̄= Ā + B̄
A+B̄= Ā · B̄
NAND universelNOT = NAND(A,A)
NOR universelNOT = NOR(A,A)