Uploaded by Nivine Haris

Chap2 Systeme de Numeration (1)

advertisement
Circuits Logiques
Chapitre 2
Système de Numération
Systems de numération
• Pour parler à propos des données binaires, on doit tout
d’abord connaitre des systèmes de numérations
•
Le système numérique décimal (base 10) vous devez être
familier avec!
- Un numéro à base 10 varie de 0 a 9.
- Un numéro a base 2 varie de 0 à 1 (système numérique
binaire). A digit à base 2 est appelé aussi un ‘bit’.
- A digit à base R varie de 0 a R-1
- A digit à Base 16 varie de 0 a 16-1
-(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F).
On utilise les lettres A-F pour représenter les valeurs 10 a 15.
Base 16 est aussi appelé ou justement ‘Hex’.
Notation Positionnelle
La valeur d’un nombre est déterminée en multipliant chaque
digit par un poids et en additionnant. Le poids de chaque digit
est une PUISSANCE de la BASE et il est déterminé par
position.
2
1
0
-2
-1
953.78 = 9 x 10 + 5 x 10 + 3 x 10 + 7 x 10 + 8 x 10
= 900 + 50 + 3 + 0.7 + 0.08 = 953.78
3
2
1
0
-1
-2
1011.11 = 1x2 + 0x2 + 1x2 + 1x2 + 1x2 + 1x2
= 8
+ 0 + 2 + 1 + 0.5 + 0.25
= 11.75
A2F
2
1
0
=
10x16 + 2x16 + 15x16
= 10 x 256 + 2 x 16 +
= 2560 + 32 + 15 = 2607
15 x 1
Représentation Binaire
• La base de toutes les données numériques est une
représentation binaire
• Binaire - signifie ‘deux’
-1, 0
-Vraie, Faux
- Chaud, Froid
- On, Off
• On doit être capable de supporter plus que ces valeurs
pour les problèmes réelles
-1, 0, 56
-Vraie, Faux, Peut-être
-Chaud, Froid, Tiède, Cool
- On, Off, Leaky
Conversion de n’importe quelle Base au Décimale
La Conversion de n’importe quelle base au décimale est effectuée
en multipliant chaque digit par son poids et on additionne.
Binaire au Décimale
1011.11 = 1x23 + 0x22 + 1x21 + 1x20 + 1x2-1 + 1x2-2
= 8
+ 0 + 2 + 1
+ 0.5 + 0.25
= 11.75
Hex au Décimale
A2F
= 10x162 + 2x161 + 15x160
= 10 x 256 + 2 x 16 +
= 2560 + 32 + 15 = 2607
15 x 1
Conversion d’un entier Décimal à n’importe quelle Base
On peut convertir un nombre décimal à n’importe quelle base
en divisant d’une façon répétitive par la base. En conversion
binaire, on divise par 2:
Convertir 53 au binaire
53/2 = 26, reste = 1
26/2 = 13, reste = 0
13/2 = 6 , reste = 1
6 /2 = 3, reste = 0
3/2 = 1, reste = 1
1/2 = 0, reste = 1
Bit Moins Significatif
Bit Plus Significatif
53 = 110101
= 1x25 + 1x24 + 0x23 + 1x22 + 0x21 + 1x20
= 32 + 16 + 0 + 4 + 0 + 1 = 53
Conversions Binaire
La conversion d’une fraction décimale au binaire est effectuée
en multipliant d’une façon répétitive les résultats de la
multiplication successive par 2. les retenus forment le nombre
binaire.
Convertir la fraction 0.188 au binaire.
0.188 x 2 = 0.376
0.376 x 2 = 0.752
0.752 x 2 = 1.504
0.504 x 2 = 1.008
0.008 x 2 = 0.016
retenue
retenue
retenue
retenue
retenue
=
=
=
=
=
0
0
1
1
0
MSB
Réponse = .00110 (for five significant digits)
Plus de Conversions
Convertir 53 au Hexadécimal
53/16 = 3,
reste = 5
3 /16
= 0 , reste = 3
53
= (35)16
= 3 x 161 + 5 x 160
= 48 + 5 = 53
Nombres Hexadécimales
Decimal Hexadecimal Binaire
L’hexadécimal utilise 16 caractères pour
représenter les nombres: les nombres 0 a
9 et les caractères alphabétique a de A a F.
Les nombre binaire peuvent se convertir
a l’hexadécimal en groupant 4 bits a la
fois
et
en
écrivant
l’équivalent
hexadécimal.
Exprimer 1001 0110 0000
11102 en hexadécimal:
Grouper le nombre binaire en
4-bits en commençant de droite
a gauche. La réponse est 960E
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Nombres Hexadécimales
Decimal Hexadecimal Binary
Hexadécimal est un système de
numération pondéré. Les poids des
colonnes sont des puissances de 16, et
augmente de droite a gauche.
Poids des
colonnes
{ 163 162 161 160
4096 256 16 1
Exprimer 1A2F16 en décimal.
En écrit les poids des colonnes :
4096 256 16 1
1
A
2 F16
1(4096) + 10(256) +2(16) +15(1) = 670310
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Nombres Octales
Decimal
Octal utilise 8 caractères (nombres de 0
a 7) pour représenter les nombres. Il n’y
a 8 ou 9 caractère en octal.
Nombre binaire sont faciles a convertir
a l’octal en groupant 3 bits a la fois et
écrire l’équivalent octal chaque groupe.
Exprimer 1 001 011 000 001
1102 en octal:
Grouper le nombre binaire par
3-bits commencer de droite a
gauche. Donc, 1130168
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Octal
Binary
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Nombres Octales
Decimal
Octal est un système de numération
pondéré. Les poids des colonnes sont
des puissances de 8, et augmente de
droite 12à gauche.
Poids des
colonnes
{
83 82
512 64
81
8
8. 0
1
Exprimer 37028 en décimal.
En écrit les poids des colonnes :
512 64 8 1
3
7
0 28
3(512) + 7(64) +0(8) +2(1) = 198610
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Octal
Binary
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Hex au Binaire, Binaire au Hex
A2F = 1010 0010 1111
345 = 0011 0100 0101
La conversion du Binaire à l’Hex est justement l’opposée.
- Créer des groupes de 4 bits en débutant par le bit le moins
significatif.
- Si le dernier groupe n’admet pas 4 bits, on ajoute des
zéros pour les nombres sans signes.
1010001 = 0101 0001 = 51
Ajout d’un zéro
A Trick!
Si on a nombre binaire large qui doit être convertir au
décimal, tout d’abord on commence la conversion à l’HEX, puis
l’HEX au décimal.
Avantages: Moins de calcul!
110111110011 = 1101 1111 0011
= DF3
= 13 x 162 + 15 x 161 + 3x160
= 13 x 256 + 15 x 16 + 3 x 1
= 3328 + 240 + 3
= 3571
Addition Binaire
Les lois de l’addition binaire sont
0+0=0
0+1=1
1+0=1
1 + 1 = 10
Somme =
Somme =
Somme =
Somme =
0, Retenue = 0
1, Retenue = 0
1, Retenue = 0
0, Retenue = 1
Lorsque le retenue à l’entrée = 1 due à un résultat précédant,
les lois sont
1 + 0 + 0 = 01
1 + 0 + 1 = 10
1 + 1 + 0 = 10
1 + 1 + 1 = 11
Somme =
Somme =
Somme =
Somme =
1, Retenue = 0
0, Retenue = 1
0, Retenue = 1
1, Retenue = 1
Addition Binaire
Additionner les nombres binaires suivants 00111 et
10101 et montrer l’équivalent décimal.
0 11 1
00111
10101
7
21
1 1 1 00 = 28
Soustraction Binaire
Les lois de la soustraction binaire sont
0-0=0
1-1=0
1-0=1
10 - 1 = 1 avec un prêt de1
Soustraire 00111 de 10101 et montrer l’équivalent
décimal.
1 11
/ //
10101
00111
21
7
01 1 1 0 = 14
Addition Hexadécimale
3A
+ 28
62
A+8 = 2; un retenue de 1
au prochain colonne
1 (retenue) + 3 + 2 = 6.
Réponse = 62.
Décimal check.
3A = 3 x 16 + 10
= 58
28 = 2 x 16 + 8
= 40
58 + 40 = 98
62 = 6 x 16 + 2
= 96 + 2 = 98!!
Soustraction Hexadécimale
34
- 27
0D
4-7 = D; avec un prêt de
1 de la prochaine colonne
3 - 1 (prêt) - 2 = 0.
Réponse = 0D.
Décimal check.
34 = 3 x 16 + 4
= 52
27 = 2 x 16 + 7
= 39
52 - 39 = 13
0D = 13 !!
Complément à 1
On obtient le complément à 1 (complément restreint) d’un
nombre binaire X en remplaçant les 0 par des 1 et les 1 par
des 0.
Par exemple, le complément à 1 de 11001010 est
00110101
Dans les circuits numériques, le complément à 1 est formé à
l’aide des inverseurs:
1
1
0
0
1
0
1
0
0
0
1
1
0
1
0
1
Complément à 2
C’est la représentation utilisée dans tous les calculateurs. On
obtient le complément à 2 (complément vrai) d’un nombre
binaire en ajoutant un 1 au LSB du 1er complément.
Rappelons que le complément à 1 de 11001010 est
00110101 (complément à 1)
Pour former le complément à 2, ajouter 1:
+1
1
1
0
0
1
0
1
0 0011011 0 (complement à 2)
1
0
0
1
1
0
1
0
1
Input bits
Carry
in
Adder
Output bits (sum)
0
0
1
1
0
1
1
0
(add 1)
Nombres Binaires avec Signes
Il existe plusieurs façons de représenter les nombres binaires
avec signes ( + ou -). Dans tous les cas, le bit le plus significatif
est le bit de signe, cela permet de distinguer si le nombre est
positive ou négative.
Les ordinateurs utilisent le complément à 2 modifié pour les
nombres avec signes. Les nombres positifs sont stockés dans un
vrai forme (avec un 0 pour le bit de signe) et les nombres
négatifs sont stockés par un forme de complément (avec un 1
pour le bit de signe).
Par exemple, le nombre positif 58 est écrit en utilisant 8-bits
comme 00111010 (vrai forme).
Bit de signe
Bits de
magnitude
Nombres Binaires avec Signes
Les nombres négatifs sont écrites comme le complément à 2 du
nombre positif correspondant
Le nombres négatif -58 s’écrit comme:
-58 = 11000110 (forme complément)
bit de signe
Bits de Magnitude
Une façon simple de lire un nombre avec signe qui utilise cette
notation est d’assigner le bit de signe au colonne pondérée de 128 (pour un nombre a 8-bit). Puis additionner les colonnes
pondérées pour les 1.
Supposons que le bit de signe = -128, montrer que 11000110
= -58 comme le complément à 2 du nombre avec signe:
1 1 0 0 0 1 1 0
Colonne pondérée: -128 64 32 16 8 4 2 1.
-128 +64
+4 +2
= -58
Floating Point Numbers
Floating point notation est capable de représenter des grosses
et de petites nombres en utilisant une forme de notation
scientifique. A 32-bit single précision nombre est illustré.
S E (8 bits)
Bit de signeexposant (+127)
F (23 bits)
Magnitude with MSB dropped
Exprimer la vitesse de la lumière, c, in single precision
floating point notation. (c = 0.2998 x 109)
In binary, c = 0001 0001 1101 1110 1001 0101 1100 00002.
En notation scientifique, c = 1.001 1101 1110 1001 0101 1100 0000 x 228.
S = 0 car le nombre est positive. E = 28 + 127 = 15510 = 1001 10112. F
est le prochain 23 bits après le premier 1 est éliminé.
In floating point notation, c = 0 10011011 001 1101 1110 1001 0101 1100
Operations Arithmétiques des Nombres avec Signes
L’utilisation de la notation des nombres avec signe avec les
nombres négatifs au complément à 2 simplifie l’addition et la
soustraction des nombres avec signes .
Règles de l’addition:
- Ajouter les deux nombres avec signe.
- Eliminer tout retenue final.
-Le résultat est en forme de signe .
Exemples:
00011110 = +30
00001111 = +15
00001110 = +14
11101111 = -17
11111111 = -1
11111000 = -8
00101101 = +45
11111101 = -3
1 11110111 = -9
Eliminer
retenu
Operations Arithmétiques des Nombres avec Signes
Si le nombre de bits requis pour la réponse est excédée, il aura un
dépassement de capacité (overflow). Cela arrive seulement si les
deux nombres ont le même signe. L’overflow sera indiquée par un
bit de signe incorrecte.
Exemples:
01000000 = +128
01000001 = +129
10000001 = −126
Elimine
retenu
10000001 = −127
10000001 = −127
100000010 = +2
Faux! La réponse est incorrecte
et le bit de signe est changé .
Operations Arithmétiques des Nombres avec Signes
Règles de soustraction:
-On prend le complément à 2 du 2eme nombre.
- Puis on ajoute les nombres.
- Elimine le retenu final.
- Le résultat est en forme de signe.
Exemples :
00011110 (+30)
00001110 (+14)
11111111 (−1)
− 00001111 –(+15) − 11101111 –(−17) − 11111000 –(−8)
complément à 2 du 2eme nombre et ajoute:
00011110 = +30
11110001 = −15
1 00001111 = +15
Elimine retenu
00001110 = +14
00010001 = +17
00011111 = +31
11111111 = −1
00001000 = +8
1 00000111 = +7
Elimine retenu
Code Binaire
Un Chiffre Binaire (one bit) peut avoir les valeurs 0, 1.
On peut représenter 2 cas:
0 = chaud, 1 = froid, 1 = Vraie , 0 = Faux, 1 = on, 0 = off.
Deux Chiffres Binaires (two bits) peut avoir les valeurs 00, 01,
10, 11. On peut représenter 4 cas:
00 = chaud, 01 = tiède, 10 = frais, 11 = froid.
Trois Chiffres Binaires (three bits) peuvent prendre les valeurs
000, 001, 010, 011, 100, 101, 110, 111.
On peut représenter 8 cas
000 = Noir, 001 = Rouge, 010 = Rose, 011 = Jaune,
100 = Brun, 101 = Bleu, 110 = Vert , 111 = Blanc.
Code Binaire
N bits (ou N binary Digits) représentent 2N cas différents.
Exemple, 4 bits représentent 24 ou 16 cas ou valeurs différents.
N bits peut avoir des valeurs décimaux sans signes à partir de 0
a 2N-1. Les Codes sont donnés sous forme de tableau.
000 noir
001 rouge
010 rose
011 jaune
100 brun
101 bleu
110 vert
111 blanc
Décimal Codé en Binaire (BCD)
Décimal Codé en Binaire(BCD) est un
code pondéré utilisé dans les
systèmes
numériques
lorsqu’il
nécessaire de monter les nombres
décimaux dans les displays à
horloges.
Le tableau illustre la différence
entre le code binaire et le BCD. Le
BCD représente chaque digit
décimal avec un code à 4-bit. On
note que les codes 1010 à 1111 ne
sont pas utilisés en BCD.
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Binary
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
BCD
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
0001 0000
0001 0001
0001 0010
0001 0011
0001 0100
0001 0101
BCD
On peut penser au BCD en fonction des colonnes pondérées
dans des groupes de quatre bits. Pour un nombre BCD à 8bit, les colonnes pondérées sont:
80 40 20 10 8 4 2 1.
Quelles sont les colonnes pondérées du
nombre BCD 1000 0011 0101 1001?
8000 4000 2000 1000 800 400 200 100 80 40 20 10
8 4 2 1
on peut ajouter les colonnes pondérées où il existe un 1 pour
obtenir un nombre décimal. Dans ce cas:
8000 + 200 +100 + 40 + 10 + 8 +1 = 835910
BCD
Une expérience au labo dans lequel
le BCD est converti au décimal
Code Excédant 3 (Access 3 Code)
Code excédant 3 est un code non
pondéré. On obtient ce code en
décalant vers le haut et de trois
lignes, le code binaire (pondéré 8-42-1)
Ce code est intéressant pour
effectuer des soustractions mais il
est inutilement compliqué
Decimal
0
1
2
3
4
5
6
7
8
9
Binary Excedant 3
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
Code Binaire Reflechi (Gray code)
Code de Gray est un code non
pondéré où il existe un changement
d’un seul bit entre deux codes ou
deux termes successives. Ces deux
termes sont adjacents
Code de Gray est utilisé pour éviter
les problèmes dans les systèmes où
un erreur peut arriver si plus qu'un
bit change à la fois.
Decimal
Binary
Gray code
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
Gray code
A shaft encoder is a typical application. Three IR
emitter/detectors are used to encode the position of the
shaft. The encoder on the left uses binary and can have
three bits change together, creating a potential error. The
encoder on the right uses gray code and only 1-bit changes,
eliminating potential errors.
Binary sequence
Gray code sequence
ASCII
ASCII (American Standard Code for Information Interchange)
est un code pour les caractères alphanumériques et les
caractères de contrôle.
Dans son forme original, ASCII encode 128 caractères et
symboles utilisant 7-bits. Les premiers 32 caractères sont les
caractères de control.
7 bits peut représenter 27 valeurs ou 128 cas différents. Cela
est suffisant pour représenter L’alphabet Latin (A-Z, a-z, 0-9,
la ponctuation, et quelques symboles comme le signe de dollar $).
Mais quoi à propos des autres symboles ou autres langages?
ASCII
In 1981, IBM A introduit une extension du code ASCII.
C’est un code à 8-bit où l’ensemble de caractère est
augmenté à 256.
‘A’ = 01000001 = 4116
‘&’ = 00100110 = 2616
Autres extensions de code tel que le Unicode sont
introduites pour supporter les caractères dans des langues
autre que l’anglais.
UNICODE
UNICODE est un code de 16-bit afin de représenter les données
alphanumériques. Avec 16 bits, on peut représenter 216 ou
65536 symboles différents. 16 bits = 2 Bytes ou octets par
caractère.
0041-005A
0061-4007A
A-Z
a-z
Autre alphabet/symboles
3400-3d2d
4E00-9FFF
Symboles Korean Hangul
Han (Chinois, Japonais, Korean)
UNICODE est utilisée par les fureteur Web (browsers), Java,
et la plupart des logiciels.
Byte
Un groupe de huit bits
Floating- point Une représentation du nombre basée sur une
number notation scientifique dans lequel le nombre consiste
a un exposant et une mantisse.
Hexadécimal Un system numérique à base 16.
Octal Un system numérique à base 8.
BCD Décimal binaire codé; un code numérique dans lequel
chaque digit décimal , 0 à 9, est représenté par un
groupe de 4 bits.
Alphanumeric Consiste des numéraux, lettres, et autre caractères
ASCII American Standard Code for Information
Interchange; le code alphanumérique le plus utilisé.
Parity
En relation aux codes binaires, la condition de pair ou
impair dans un groupe de code (groupe de 1).
Cyclic
redundancy
Un type de code pour la détection des erreurs.
check (CRC)
Méthode de Parité
La méthode de parité est une méthode pour la détection des
erreurs dans les transmissions simples des erreurs
impliquant un bit (ou un nombre impair of bits). Le bit de
parité est “extra” bit attaché a un groupe de bits pour forcer
le nombre des 1 a être paire (parité pair) ou impair (parité
impair).
Le caractère ASCII for “a” est 1100001 and for “A” est
1000001. Quelle est le bit correct to append to pour que les
deux admettent la parité impair?
The ASCII “a” has an odd number of bits that are equal to 1;
therefore the parity bit is 0. The ASCII “A” has an even
number of bits that are equal to 1; therefore the parity bit is 1.
Verification de la Redundance Cyclique
La Vérification de la Redondance Cyclique (CRC) est une méthode
de détection des erreurs qui se trouve dans les grandes blocks de
données. De la coté de transmission, une vérification de la somme
est attaché ou annexé à un block de données. A la réception, une
vérification de la somme est générée et comparée au checksum
envoyée. Si la vérification de la somme est pareille, aucun erreur
est détecté.
Download