Chapitre 1
Chapitre 1
Système de numération
& codes.
On Off
Définitions et conventions
Niveau Logique positive Logique
négative
H ( Hight ) haut 1 0
L ( Low ) bas 0 1
Représentation de l’ information
Exemple: 2 interrupteurs en
série peuvent représenter 4
valeurs.
0 (00)
1 (01)
2 (10)
3 (11)
Unité Définition
0 0 0 0
1 1 1 1
2 2 2
3 3 3
Décimale, 4 4 4
5 5 5
Binaire, 6 6 6
7 7 7
Octale 8 8
9 9
Hexadécimale A
B
C
D
E
F
I. Représentation des nombres
Décimale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F
Binaire 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
n1
Notation polynomiale
N ai r i
im
Base R N ( a 4 a3 a 2 a1a 0 .a 1a 2 a 3 ) R
a 4 R 4 a3 R 3 a 2 R 2 a1 R 1 a 0 R 0
a 1 R 1 a 2 R 2 a 3 R 3
3
Octal: 147 .38 1 8 2 4 81 7 8 0 3 8 1 64 32 7
8
103 .375 10
Addition
Soustraction
Multiplication
Division
II 2 Arithmétique Binaire
II 2 1 Addition
s=a+b
a b
Décimale Binaire
0 0 0 00
0 1 1 01
x0
1 0 1 01
1 1 2 10 +y0
c0 s0
Carry Somme
retenue
1 + 1 =>
= 10 je pose 0 et je retiens 1
Exemple:Base 2 sur 4 bits
binaire
décimal: 1 1 1 Retenue
1310 1 1 0 12 8 + 4 + 1 = 1310
+ 710 +0 1 1 12 4 + 2 + 1 = 710
-----------
2010 1 0 1 0 02 0+ 4 = 410
− 1 1 12 7
Exemple 2 1 1 02 6
• En binaire sur 4 bits
1 1 1
0 0 0 0 1
0 1 1
0 1 1 0 1 1 00 1 010
-0 0 1 1 - 1 1 10 - 0 100
0 01 1 11 1 10 0 11 0
1000001 65
1 A34 1
-----------
- 26
3E42 -------
(16)10
On écrit 3 et on retient 1
On écrit 3D
III Conversion d’un système
de
numération à un autre
Conversion : 10 2
Divisions successives reste
43 ÷ 2 = 21 1
Écriture du nombre
4310 en base 2 21 ÷ 2 = 10 1
10 ÷ 2 = 5 0
5÷2 =2 1
2÷2 =1 0
1÷2 =0 1
1 0 1 0 1 1
Le quotient = 0, stopper la division
Stop
0.312510 = 0.01012
Conversion Décimale Octale
Octale décimale
Exemple : 372.6 8 = (?) 10
0.37 * 8 = 2.96
0.96 * 8 = 7.68
0.68 * 8 = 5.44 0.37 10 = (0.2753) 8
0.44 * 8 = 3.52
Conversion : OctaleBinaire
Octale Binaire
Octale 0 1 2 3 4 5 6 7
Binaire 000 001 010 011 100 101 110 111
Binaire Octale
Binaire Hexadécimale
Exemple: 1011 0011 1101 2 = (?) 16
1011 2 = B 16
0011 2 = 3 16
0010 2 = D 16
1011 0011 1101 2 = (B3D) 16
• (1010 0110)2 = ( 1010)2. 161 + (0110)2.160
• = (8 + 2).161 + (4+2).160
• = (A6)16
-2N-1 2N-2 23 22 21 20
• On utilise le bit le plus à gauche pour représenter le signe (S: signe) ("+" =
0, "-" = 1) + valeur absolue
Sur 7 bits
+ 52 0 1 1 0 1 0 0
- 52 1 1 1 0 1 0 0
• Avec n bits: On peut représenter les nombres
– Non signé: de 0 .. (2n -1)
– Signé : de -2n-1+1.. (2n-1 -1)
Nombre non signé
(-7) 0 (7) (15)
1111
0000 0111
1111
Nombre Signé: M&S
Nbre Binaire
Décimale
-7 +0 Positive Négative
-6 1111 0000
+1 0 0000 1000
1110 0001
-5 +2 1 0001 1001
1101 0010
2 0010 1010
-4 1100 0011 +3
3 0011 1011
1011
-3 0100 +4 4 0100 1100
1010 0101
-2 +5 5 0101 1101
1001 0110
-1 1000 0111 +6 6 0110 1110
-0 +7 7 0111 1111
IV 2 Complément à 1: Ca1
• pour un nombre négatif, on prend la représentation de
la partie entière et on inverse tous les bits
• ex1 : N=5 0101 N=-5 1010
N : nombre positive N est le complement à 1 de N
1010=1111-0101(24-1)-5 N ( 2 1) N
n
-7 -1 -0 +0 +1 +7
-----+-------------+-------+-------+-------+--------+-----
1000…………… 1110 1111 0000 0001……0111
Modulo-16
0 3 6 -6 -3 -0 pour les nombres signés
0101 5 1010 -5
+ +
0010 2
0010 2
0111 7 1100 -3
5 +1 0 1 0 -5
0101
+
1101 -2 1101 -2
10010 10111
(Retenue? +1)
1 1
0011 3 1000 -7
IV 2 2 : Ca1 Soustraction
0 1 1 0 0
• Calculer (12)10 - (1)10. - 0 0 0 0 1
(12)10 = 011002. --------------
Ca1
(-1)10 = 111102. 0 1 1 0 0
+ 1 1 1 1 0
--------------
1 0 1 0 1 0
1
--------------
Résultat Finale 0 1 0 1 1
IV 3 Complément à 2
• Le complément à 2 est le mode de représentation le plus utilisé en
arithmétique binaire et donc dans les ordinateurs pour coder les
nombres entiers.
• Pour obtenir l ’opposé d ’un nombre:
1. Inverser tout ses bites,
2. Ajouter 1
–N = N + 1
Exemple, -6 s’obtient de la façon suivante:
1001
+610 = 01102 +1
10102 = -610
10 10 = -610 0101
2
+1
01102 = +610
01 10 2 = +610
Représentation des nombres négatives en Ca2
Binary number
Decimal
0000 magnitude Positive Negative
1111 0001
15 0 0 0000
-1
1 0001 1111
1100 12 -4 4 0100
2 0010 1110
Soustraire 1 -8 7 3 0011 1101
Dans cette région 8 0111 4 0100 1100
1000
5 0101 1011
6 0110 1010
7 0111 1001
[ ]
-2n-1 0 2n-1-1
Minimum Maximum
n-2
an-1an-2 . . . a1a0 = -2n-1an-1 + Σ 2i ai
i=0
Exemple -128 64 32 16 8 4 2 1
1 1 1 1 1 1 0 1
-27 26 25 24 23 22 21 20
0 1 0 0 0 1 1 0
+64 +4 +2 = 70
-128 64 32 16 8 4 2 1
1 0 0 0 0 0 1 1
-128 +2 +1 = -125
-128 64 32 16 8 4 2 1
1 0 0 0 1 0 0 0
-128 +8 = -120
overflow
0
increasing
0
marker increasing order
1
order
1 3 000
zero codes
redundant
7 111 000
001 111 001
6 110 010
increasing 2 2 110 010 2
order
011 101 011
101
5 100 3 1 100 3
4 0
Nombre Non Signé Nombre Signé
38
0 0
7 111 000 1 0 000 1
001 111 001
increasing
6 110 010
increasing 2 1 110 order 010
2
order
011 101 011
101
5 100 3 2 100 3
4 3
Nombre en Ca1 sur 4Bits
Nombre Non Signé
39
Nombre en CA2 et Nombre Non signé »
0 0
7 111 000 1 1 000 1
001 111 001
40
En résumé ( n=4 bits )
Ca1
Décimal Module et signe Ca2
-8 - - 1000
-7 1111 1000 1001
-6 1110 1001 1010
-5 1101 1010 1011
-4 1100 1011 1100
-3 1011 1100 1101
-2 1010 1101 1110
-1 1001 1110 1111
0 0000 or 1000 0000 or 1111 0000
1 0001 0001 0001
2 0010 0010 0010
3 0011 0011 0011
4 0100 0100 0100
5 0101 0101 0101
6 0110 0110 0110
7 0111 0111 0111
IV 3 2 Le débordement
Sur 8 bits l’intervalle des valeurs
possibles est
01 1 1 1 1
[-28-1, 28-1 -1]=[-128,127]
0 0 1 0 1 0 1 1
4310 43 + 107 =150 est une valeur à
+ l’extérieur de l’intervalle nous
0 1 1 0 1 0 1 1 sommes en présence d’un cas de
10710 dépassement de valeur ou plus
simplement un cas de débordement
1 0 0 1 0 1 1 0
-106
La valeur obtenue -106 est incorrect
Lorsque le résultat de l’opération n’est pas représentable, on parle de
DÉBORDEMENT de l’opération +/-.
-1 +0
-1 +0
-2 1111 0000 +1
-2 1111 0000 +1 1110 0001
1110 0001
-3 +2
-3 +2
1101 0010
1101 0010 -4
-4 1100 0011 +3
- +
1100 0011 +3 -5 1011
-5 1011 0100 +4
0100 +4 1010
1010 -6 0101
-6 0101 1001
+5
1001
+5 0110
0110 -7 1000 0111 +6
-7 1000 0111 +6
-8 +7
-8 +7
+3
-2
Débordement si :
0 11 001
011 7 1010 -5
+ 1 +
0010 2 0010 2
1001 1100 -3
C4=0, C3=1 Overflow C4=0, C3=0
111 10
0111 7 1001 -7
+ +
1110 -2 1110 -2
0101 5 0111
C4=1, C3=1 C4=1, C3=0
Overflow
IV 3 3 Résumé
Nombre non signé: n 1
A (a a ......a a a ) i
a 2 i
Nombre signé:
n -1 n -2 2 1 0 2
i 0
n2
•
• Le décimale utilisé par l’homme. Le binaire par les ordinateurs, hex pour
simplifier l’écriture du nombre binaire.
• Complément à un - abandonné
• Non signé: 0 à 2N - 1
• Ca2 : - 2 N-1 à 2 N-1 - 1
• Ca1 : - 2 N-1 +1 à 2 N-1 - 1
• BCD : 0 à 10 N/4 - 1
Mais pour?
– Les plus grandes nombres?
9,369,396,989,487,762,367,254,859,087,678
– . . . ou les plus petits nombres?
0.0000000000000000000000000318579157
IV 4 1 Notation Scientifique
Virgule flottante
N = (-1)s M BE
où : M = mantisse
B = base
E = exposant
s = signe de la mantisse
Exemples:
1012 = 1,01 102
- 510 = - 1012 = - 1,01 22
510 = 1012 = 516 =0,516x161= 0,01012 24
IEEE 754
Exemple
F=0,10011102
25.75 => 00011001.110 => 1.1001110 x 24 E=13110=100000112
25.75 => 0 1000 0011 100 1110 0000 0000 0000 0000 => 41CE000016
51
Exemple:
(1 10000001 01000000000000000000000)IEEE 754=(?)10
N = (-
(-1)(1.10001110001)(2145
145--127)
= (-
(-1)(1.10001110001)(218)
= -11000111000100000002
= -407,68010
• ex: 010110100100012
on peut l’écrire sous forme:
1011010010001 = 1.011010010001 x 212
E=12+127 = 139 = 10001011 , S=0
0 10001011 01101001000100000000000
Exemple: -0.75 Simple précision IEEE754
• Nombre négatif: donc S = 1
• fraction Binaire :
0.75*2 = 1.5 (0.1)
0.50*2 = 1.0 (0. 11), donc 0.7510 = 0.112
• 0.11*20 = 1.1*2-1
• Exposent: -1, E-127 =-1 E = 126 = 01111110;
s 8 bits 23 bits
IV 4 3 Double Précision IEEE 754
- 308 308
Soit: 2.23 x 10 a 1.8 x 10
Normalisation de la Représentation des
Nombres Réels
Normalisation (IEEE754)
Améliorer la précision/stabilité des résultats et la
portabilité des programmes.
– Représentation à la fois des très grands nombres
et des très petits nombres.
S E Fraction F
Décimal Codé Binaire : Chaque chiffre d'un nombre est codé sur 4 bits
Décimale 0 1 2 3 4 5 6 7 8 9
BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Note: 1010, 1011, 1100, 1101, 1110, et 1111 sont des CODES INVALIDES!
Exemple: 2 3 510
4 0100 0111
6 0110 +7
+ 0011 0101
7 0111 3
-- 5
0111 1100
1- 1 0 1 --
1 0110 0110
-
3 8 1000 0010
0001 0011 2
0 0 00 000 0000
1 101 001 0001
1 11 011 0011
010 010 0010 2 codes consécutifs ne
10 110 0110 diffèrent que d’un bit
11 111 0111
01 101 0101
00 100 0100
100 1100
101 1101
111 1111
110 1110
010 1010
011 1011
001 1001
000 1000
code détecteur d'erreurs.
Soit un code sur n bits
On ajoute 1 bit tel que tous les mots du code aient un nombre de bits à 1 :
• Pair : nombre pair de 1 dans le mot.
• Impair : nombre impair de 1 dans le mot
Exemple de codage à parité paire : Exemple de codage parité à imparité :
0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 1
Bit de parité Bit de parité
Bits de parité sont utilisées pour détecter le code d’erreur
source
destination
Générateur Détecteur
de parité De parité ERREUR
Transmission Réception
Utilisé pour contrôler la bonne transmission d’une information.
Codes Excess-3 « code plus 3 »
C’est un code semblable au code BCD: 3 est ajouté à chaque chiffre
décimal.
Entrée BCD Sortie Excess-3
ABCD WXYZ
0000 0011
0001 0100
0010 0101
0011 0110
0100 0111
0101 1000
0110 1001
0111 1010
1000 1011
1001 1100
Les trois combinaisons situés avant 0011 (0000, 00001, 0010) et les trois
combinaisons situés après 1100 (1101, 1110, 1111) ne sont pas utilisées