Codage et arithmétique binaire

Transcription

Codage et arithmétique binaire
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
I-
EPMI Cergy
1AING
LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:
On a tous eu un jour l’occasion de compter une quantité importante de petits objets : des pièces de
monnaie, des billes, des cartes, … Notre compte fini, on en effectue un deuxième afin d’être certain de ne
pas s’être trompé.
Mais il est rare, malheureusement, de tomber deux fois sur le même résultat. Et la, notre esprit ingénieux
nous conseille d’user d’un stratagème pour ne pas se faire posséder une nouvelle fois par le grand nombre :
on fait des petits paquets de 10 ! Et si cela ne suffit pas : avec 10 petits paquets de 10, nous formons un gros
paquet de 100.
Nous réinventons un système de numération de base 10. Pourquoi « de base 10 », car pour obtenir un petit
paquet, il faut 10 unités et pour obtenir un gros paquet, il faut 10 petits paquets.
C’est notre système de numération actuel, composé de 10 symboles (0, 1, 2, 3, 4, 5, 6, 7, 8, 9).
Pour passer au rang des dizaines (petits paquets), il faut 10 unités et pour passer au rang des centaines (gros
paquets) il faut 10 dizaines.
10 unités d'un rang valent 1 unité du rang immédiatement supérieur.
Mais il existe d’autres systèmes de numération : Prenons par exemple le système binaire (base 2) qui ne
dispose que de deux symboles : 0 et 1.
0 s’écrit 0 (en base 2)
1 s’écrit 1
2 s’écrit 10
3 s’écrit 11
4 s’écrit 100
5 s’écrit 101 etc…
Codage et arithmétique binaire.doc
1
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
Ce système est par exemple utilisé dans la programmation des ordinateurs. En électronique, soit le circuit
est fermé (0), soit il est ouvert (1). A condition d’avoir un nombre suffisant de circuits, on peut coder
n’importe quel nombre. Ce code est connu sous le nom d'ASCII.
En 3500 avant J.C. déjà, en Mésopotamie, on utilise des petits cailloux d’argile de formes et de tailles
différentes suivant la quantité qu’elle représente :
-Petit cône = 1
-Petite bille = 10
-Grand cône = 60
-Grand cône percé = 600
-Grosse bille = 3600
-Grosse bille percée = 36000
Ces cailloux constituent le premier système de numération, la base est sexagésimale (base 60).
Plus tard, ces cailloux se transformeront en symboles notés sur des tablettes d’argile.
L’astronomie a préservé ce système que l’on retrouve aujourd’hui au travers des unités de temps (1h =
60min = 3600s) et des mesures d’angles (un tour entier = 360°).
Par exemple 75 en base 10 s'écrit 1,15 en base 60. En effet, 75 min = 1h15min.
L’origine de la base 60 vient de nos mains : il s’agit d’une combinaison entre les 5 doigts de la main gauche
et les phalanges des quatre doigts de la main droite, le pouce servant à compter les phalanges, soit 12 au
total. Et 5 x 12 = 60 !
Codage et arithmétique binaire.doc
2
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
En 3500 avant J.C., en Egypte, les scribes écrivent les nombres sur des papyrus sous forme de hiéroglyphes.
Chaque signe possède une valeur. La base utilisée est la base 10, nos 10 doigts en sont incontestablement à
l’origine.
Dans leur étude des astres, les mayas se servent des nombres pour calculer le temps. Ce sont les inventeurs
du calendrier. Nous sommes en 3000 avant J.C.
Leur système de numération est la base vigésimale (base 20), dont l’origine vient cette fois de nos 10 doigts
et 10 orteils. Les symboles employés sont composés de barres horizontales et de points. Indépendamment
des autres civilisations, les mayas inventent le zéro qu’ils représentent par un coquillage.
De la base 20, il nous reste aujourd’hui le mot « quatre-vingts » pour lire le nombre « 80 ».
Symboles numériques mayas retrouvés sur les pages du codex de Dresde
Codage et arithmétique binaire.doc
3
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
Principe additif et principe de position :
Chaque civilisation avait son système de numération plus ou moins performant dans sa propre base.
Mais quels en étaient les principes ?
Le système égyptien était basé sur le principe additif (voir l’exemple plus haut) : la valeur du nombre est
égale à la somme des symboles qui le composent.
Pour noter le chiffre 9 par exemple, les égyptiens répètent neuf fois le symbole de l’unité.
On voit vite la limite de ce procédé quand il s’agit de grand nombre.
Le nombre ci-contre est 2 423 968. Essayez de
comprendre comment est construit ce système
d’écriture. C’est facile !
Comment peut on écrire alors un nombre avec le moins de symboles possibles ?
Les premiers a avoir trouvé la solution sont les babyloniens en 1800 avant J.C. : la valeur du symbole varie
en fonction de la place qu’il occupe dans l’écriture du nombre.
Dans 553, par exemple, le "5 de gauche" occupe la place des centaines et vaut 10 fois plus que le "5 du
centre" occupant la place des dizaines. Ce sont pourtant les mêmes symboles !
C’est le principe de position.
Au Vème siècle de notre ère, en Inde, les savants ont l’idée ingénieuse de marier le principe de position, neuf
symboles et le zéro en tant que nombre à part entière représentant une quantité qui n’existe pas.
Dans « 806 », il n’y a pas de dizaine, le « 0 » marque cette absence.
Même si les symboles vont quelque peu évoluer avec le temps et les voyages (voir « Histoire des nombres
»), c’est le système de numération que nous utilisons aujourd’hui.
Codage et arithmétique binaire.doc
4
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
Au VIIIeme siècle, au Moyen-orient, le perse Muhammad ibn Musa al-Khwarizmi (790 ; 850) contribue à la
propagation du système de numération indien par son "Livre de l'addition et de la soustraction d'après le
calcul des Indiens".
Celui-ci traduit par la suite en latin continuera son chemin jusqu’à nous par le biais du mathématicien italien
Léonard de Pise dit Fibonacci (1180 ; 1250).
Remarque : Pour en savoir plus, cliquez sur les liens suivants :
ChronoMath Très complet, plein d'exemples et de photos
Histoires de chiffres On retrouve les systèmes de numération des différentes civilisations
msidobre Toutes les numérations présentées par des étudiants
Nombres toutes les bases en détail
Math93
DE INDE A L’OCCIDENT
Nos chiffres de « 1 » à « 9 » que nous appelons à tort
« chiffres arabes », viennent en réalité des Indes. Ils
apparaissent dans des inscriptions des grottes de
Nana Ghât au 2e siècle avant J.C. Mais il faudra
attendre le cinquième siècle pour voir apparaître la
numération de position puis le zéro.
Outre que ce nouveau système est très commode
pour les calculs, le changement est plus profond. Les
mathématiciens indiens n'ont plus à passer par des
problèmes de géométrie pour justifier de l'existence
de nombres dans les calculs.
Mais alors pourquoi appelons nous nos chiffres
arabes ?
Moins d’un siècle après la mort du Prophète
Mahomet, en 632, les arabes s’étendent de l’Inde à
l’Espagne en passant par l’Afrique du Nord. Au VIII
eme siècle, Bagdad est un riche pole scientifique.
A cette époque, les arabes ne disposent pas d’un
système de numération performant. Ils emprunteront
celui des Indes, qui passant par l’Espagne
musulmane arrivera jusqu’à nous. Mais leur voyage
ne s’est pas fait sans embûche, l’Europe de l’époque,
fortement sous-développée, n’a pas vraiment besoin
des chiffres arabes. L’abaque romain (instrument de
calcul) suffit encore aux besoins du commerce. Voilà
pourquoi nous trouvons encore les chiffres romains
dans les vieux livres.
C'est le pape Gerbert d'Aurillac (945 ; 1003),
passionné par les mathématiques, qui introduit pour
la première fois les chiffres "indo-arabes" en
occident chrétien. Mais il ne retient ni la numération
de position ni le zéro.
Il faut dire que le monde occidental entre dans une
période de querelle qui opposera les abacistes,
partisants du calcul sur l'abaque et les algoristes qui
adopteront la nouvelle numération de position.
Il faudra attendre le XIII eme siècle, avec le
mathématicien italien Léonard de Pise, dit
FIBONACCI, pour que le mouvement s’accélère.
Codage et arithmétique binaire.doc
Margarita philosophica de G.Reisch
5
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
Quant aux nombres décimaux, ils seront introduits par les arabes.
A la suite des fractions décimales, on explique dans un premier temps les dixièmes, les centièmes, …
Puis en 1427, Jemchid al Kashi (1380 ; 1429), mathématicien arabe de Samarkand définira les nombres
décimaux et les opérations qui leurs sont associées.
En 1585, le belge Simon Stevin (1548 ; 1620) expose dans "La Disme" une notation nouvelle proche de la
notre mais sans la virgule. Elle privilégie les fractions décimales et elle est liée à la numération de position
indienne.
Le nombre 89,532, par exemple, se note :
La civilisation indienne ne s’est pas arrêtée aux entiers naturels. Nous lui devons aussi les nombres négatifs.
C'est en effet au VIIème siècle et pour les besoins du commerce que le mathématicien et astronome
Brahmagupta (598 ; 660) a l’idée ingénieuse de représenter une dette par une quantité négative.
Pour les voir apparaître en Europe, il faut attendre le XVeme siècle où leur introduction dans le langage
mathématique est lente et prudente. On les désigne « numeri absurdi ».
Même René Descartes (1596 ; 1650) considère une solution non positive d’une équation comme une
« racine fausse ».
Site de référence : http://www.col-camus-soufflenheim.ac-strasbourg.fr/Page.php?IDP=137&IDD=0#signet
Codage et arithmétique binaire.doc
6
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
II-
EPMI Cergy
1AING
CONVERSION DECIMALE - BINAIRE:
II-1-Principe du transcodage d’un nombre réel:
Soit un nombre réel N à transcoder en base B.
N, qui s'écrira
se décompose sous la forme :
1- La partie entière se met sous la forme :
montrant ainsi que a0 est le reste de la division de Ent[N] par B. Les autres coefficients a1, a2, a3, ...
sont obtenus de la même manière, par divisions successives par B.
2- La partie fractionnaire pouvant se mettre sous la forme :
montre que a-1 est la partie entière de B.Frac[N] . Les autres coefficients
a-2, a-3, ... sont obtenus de la même manière, par multiplications successives par B.
Exemple: soit à convertir (43,64)10 en base 2
Recherche de la partie entière
par divisions successives par B=2
Recherche de la partie fractionnaire
par multiplications successives par B=2
Résultat: (43,64)10 = (101011,10100)2
Note: pour des nombres de taille plus importante, il sera plus rapide de passer par la base B=16
Conclusion :
Toute base s’écrit 10 dans son propre système de numération.
Un décalage à gauche multiplie un nombre par sa base.
Un décalage à droite divise un nombre par sa base.
Codage et arithmétique binaire.doc
7
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
II-2-Transcodage dans différentes bases:
II-2-1- OCTAL :
C’est une succession de division par 8 pour la partie entière et une multiplication par 8 pour
la partie décimale.
47 donne : 47/8 = 5 et reste 7 soit (57) o et l’opération inverse (63)o = 6 x 8 + 3 = 51
68.25 = ?
68 8
4 8 8
0 1
Soit 104 pour la partie entière
Et
1/8 = 0.125
0.25
1/64 = 0.015625
8
1/512 = 0.001953125
2.0
Pour faire 0.25 il nous faut : 2 x 1/8 = 0.2
0
8
Donc 68.25 = (104,200)o
II-2-2- BINAIRE :
C’est la même méthode.
43,64 donne :
43 2
1 21 2
1 10 2
0 5 2
1 2
0
2
1
Soit 101011 pour la partie entière
Et
1/2 = 0.5
0.64 0.28 0.56 0.12 0.24 0.48 0.96
1/4 = 0.25
2
2
2
2
2
2
2
1/8 = 0.125
1.28 0.56 1.12 0.24 0.48 0.96 1.92
1/16= 0.0625
Pour obtenir 0.64 il nous faut : 1 x 0.5 + 0 x 0.25 + 1 x 0.125 + 0 x 0.0625 + 0 x 0.03125 +
0 x 0.015625 + 1 x 0.0078125 donc 1010001
Donc 43,64 = 101011,1010001b
Codage et arithmétique binaire.doc
8
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
II-2-3- HEXADECIMALE :
C’est la même méthode. Le problème c’est que pour la base 16 nous avons les valeurs de 0 à 9 et
pour compléter on utilise des lettres A, B, C, D, E, F (valant 10, 11, 12, 13, 14, 15).
167.425 donne :
167 16
7 10
0.425 0.8
16
16
6.8
12.8
Soit A7 pour la partie décimale
0.8
16
12.8
0.8
16
12.8
Soit 6CCC…
Donc 167.425 = A7,6CCh
II-2-4- SYNTHESE :
Codage et arithmétique binaire.doc
9
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
II-3-Exemples/Exercices:
III-
L’UTILISATION DU BINAIRE:
III-1- Systèmes numériques/analogiques:
Le monde extérieur est un monde analogique, et les systèmes les plus performants sont
aujourd’hui numériques. Il faut donc trouver une représentation numérique du monde analogique. Le
support le plus approprié est le courant électrique.
Par exemple la vitesse, le son la température sont des grandeurs analogiques (continues en
fonction du temps).
III-2- Représentation électrique du binaire:
Pour identifier le binaire au courant électrique on va définir deux seuils :
- Absence de tension équivaut à un 0 logique.
- Présence de tension équivaut à un 1 logique.
III-3- Poids et formats des nombres binaires :
Le système binaire est basé comme le décimal et les autres sur un système de rang associés à
des poids correspondant à la base voulue.
Le chiffre 315 = 300 + 10 + 5 = 3 x 100 + 1 x 10 + 5 x 1 et 1, 10, 100 sont les poids.
= 3 x 102 + 1 x 101 + 5 x 100
Le chiffre 1101 = 1 x 1000 + 1 x 100 + 0 x 10 + 1 x 1= 1 x 23 + 1 x 22 + 1 x 20
= 1 x 8 + 1 x 4 + 1 x 1 = 13
Les nombres binaires sont formatés en :
- Quartet : mot de 4 bits.
- Octet : mot de 8 bits byte en anglais.
Les mots de 8, 16, 32, 64, 128, 256 sont utilisés en informatique.
1 Kilo octet (Ko) vaut 210 soit 1024 octets ou 8192 bits.
1 Méga octet (Mo) vaut 220 soit 1048576 octets de 8 bits.
1 Giga octet (Go) vaut 230 soit 1073741824 octets de 8 bits.
III-4- Limite de cette représentation :
Les systèmes numériques sont complexes et les données traitées le sont tout autant. Il est
difficile pour l’utilisateur de programmer une succession de 0 et 1 c’est pour cela que nous utilisons
des codes octal, hexadécimal, ascii, assembleur et autres.
Codage et arithmétique binaire.doc
10
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
IV-
EPMI Cergy
1AING
OPERATION SUR LES NOMBRES :
IV-1- Addition :
Elle se fait comme pour la base décimale
En binaire :
101011
+
001001
110100
110110
+
100011
1011001
Le format choisit est de 6, et le résultat se trouve sur 7 bits. Pour rester homogène nous dirons que le
bit de poids fort est la retenue (carry) et est traiter à part.
En Octal :
+
15647
25421
43270
En hexadécimal :
47FB5
+
2C10A
740BF
IV-2- Soustraction en binaire:
Les systèmes numériques ne savent pas soustraire, en fait ils peuvent qu’additionner. Pour
pouvoir faire les soustractions il faut utiliser le mode complément à 2.
Complément à deux d’un nombre :
On complémente tout les chiffres du nombre et on ajoute 1
Exemple :
Opposé de
10101110
Complément 01010001
+ 00000001
01010010
Faisons : 146 – 27 = 119
146 = 10010010b et 27 = 11011
Complément à 2 de 27 au format du plus grand nombre = 11100100 + 1 = 11100101
Il suffit de faire la somme :
10010010
+
11100101
101110111
Donc 64 + 32 + 16 + 4 +2 + 1 =119
Codage et arithmétique binaire.doc
11
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
IV-3- Multiplication en binaire:
On utilise le même procédé qu’en base décimale.
1101 x 1011=
1101
X
1011
00001101
00011010
13 x 11 = 143
01101000
10001111
128 + 8 + 4+ 2 +1 = 143
Il faut toujours rester dans le format du résultat.
Remarque : Pour construire un multiplicateur il faut : 1 registre à décalage pour le multiplicateur et le
multiplicande, 1 registre pour le résultat, un additionneur, et un compteur pour le nombre de pas de
décalage.
IV-4- Division en binaire:
Le principe est simple en base décimale mais en binaire…
Soit 1101b divisé par 0101 (13/5 = 2.6)
1101
101
Compl 010
+1
101
1011
101
1
21 22 …..
donc nous avons 10b et un reste de 11b
Rejeté car hors format
Autre exemple : 101110 divisé par 110 :
101110
0110
Compl 1001
+1
1010
101011
0110
Compl 1001
+1
1010
101010
0110
Compl 1001
+1
1010
10100
Codage et arithmétique binaire.doc
110
11 1
21 22 23…..
donc nous avons 111b et un reste de 100b
7
et un reste de 4 soit 6 x 7 + 6 = 47
12
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
V-
EPMI Cergy
1AING
SIGNE D’UN NOMBRE BINAIRE :
Signe d’un octet ou d’un mot :
Si on souhaite coder un nombre par un octet et lui affecter un signe nous parlons alors de
nombre relatifs. Sur un octet (8 bits soit 256 valeurs) nos irons donc de la valeur -127 à + 127 en
passant par une valeur nulle.
Les nombres seront codés sur 7 bits et aurons un bit de signe (le bit de poids fort).
Par normalisation le bit 0 est attribué aux nombres positifs et le 1 aux nombres négatifs.
Ainsi : 63 = 00111111b
-63 = 10111111b
Remarque : en complément à deux 63 s’écrit:
-63 = ? 00111111
Compl 11000000
+1
00000001
11000001
Ce nombre est différent de -63 !!!!!!!! en mot signé.
Et 0 à deux valeurs possibles :
0 = 00000000
-0 = 10000000
On parle alors de bits ou de mots signés.
Les opérations mathématiques sur les mots signés donnent des résultats erronés.
VI-
CODAGE BINAIRE:
VI-1- codage GRAY ou binaire réfléchi:
Ce code GRAY fait parti des codes à distance minimale. Cela tient du fait que l’on ne change
qu’une variable à la fois à l’intérieur du mot entre deux lignes successives. Ce code permet de supprimer
des aléas technologiques notamment dans les capteurs de positions numériques. Si deux chiffres bougent
En même temps on perd la précision de l’information entre le temps ou celles-ci disparaissent et la
nouvelle apparaisse. (Temps de commutation)
Exemple : passage de 011 à 100 trois variables changent d’état !!!!!!
Le code GRAY ne permet que de représenter des nombres entiers N et ne supporte pas les opérations
mathématiques.
N Codage GRAY N Codage GRAY
0
0000
8
1100
1
0001
9
1101
2
0011
10
1111
3
0010
11
1110
4
0110
12
1010
5
0111
13
1011
6
0101
14
1001
7
0100
15
1000
Codage et arithmétique binaire.doc
13
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
VI-2- codage DCB Décimal codé binaire:
Ce codage permet de garder une longueur identique quelque soit le nombre. On affecte à
chaque chiffre su nombre son équivalent binaire sur 4 bits. Il ne supporte pas les opérations
mathématiques.
Exemple : 45d s’écrira en DCB 0100 0101dcb
Alors qu’en binaire il s’écrirait 101101b
On utilise le même tableau que §II-2-4
Ce codage est utilisé dans la programmation d’éléments simples. Il permet aussi de pouvoir passer du
binaire à l’hexadécimal facilement.
Exemple : F25h s’écrit en binaire 1111 0010 0101 b soit 3877d ou Impossible en BCD (F n’est pas un
nombre)
Ou
15 x 162 +2 x 161 + 5 x 160 = 3840 + 32 + 5 = 3877d
On peut décuire tout les autres codes à partir de ce système : BCD, DCB, BCH, HCB.
VI-3- codage ASCII:(American Standard Code for Information Interchange)
La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe
pas de méthode pour stocker directement les caractères. Chaque caractère possède donc son
équivalent en code numérique. Le code ASCII de base représentait les caractères sur 7 bits (c'est-àdire 128 caractères possibles, de 0 à 127). Le code ASCII a été mis au point pour la langue anglaise,
il ne contient donc pas de caractères accentués, ni de caractères spécifiques à une langue. Pour coder
ce type de caractère il faut recourir à un autre code. Le code ASCII a donc été étendu à 8 bits (un
octet) pour pouvoir coder plus de caractères (on parle d'ailleurs de code ASCII étendu...).
Ce code attribue les valeurs 0 à 255 (donc codées sur 8 bits, soit 1 octet) aux lettres majuscules et
minuscules, aux chiffres, aux marques de ponctuation et aux autres symboles (caractères accentués
dans le cas du code iso-latin1).
Les codes 0 à 31 ne sont pas des caractères. On les appelle caractères de contrôle car ils permettent
de faire des actions telles que :
Retour à la ligne (CR)
bip sonore (BEL)
Les codes 65 à 90 représentent les majuscules
Les codes 97 à 122 représentent les minuscules
(il suffit de modifier le 5ème bit pour passer de majuscules à minuscules, c'est-à-dire ajouter
32 au code ASCII en base décimale)
Codage et arithmétique binaire.doc
14
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
caractère
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
TAB
LF
VT
FF
CR
SO
SI
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
Espace
!
"
#
$
%
'
(
)
*
+
.
/
code ASCII
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
45
46
47
Codage et arithmétique binaire.doc
code Hexa
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
27
28
29
2A
2B
2D
2E
2F
caractère
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
h
i
j
k
l
n
o
p
15
EPMI Cergy
1AING
code ASCII
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
104
105
106
107
108
110
111
112
code Hexa
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
68
69
6A
6B
6C
6E
6F
70
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
caractère
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
code ASCII
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
code Hexa
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
caractère
q
r
s
t
u
v
w
x
y
z
{
|
}
~
Touche de suppr
EPMI Cergy
1AING
code ASCII
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
code Hexa
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
VI-4- codage autres codes :
Il existe d’autre mode de codage le code majoré de 3 par exemple ou même le
complément à 1.
VII-
VERIFICATION DE PARITE / TRANSMISION:
VII-1- Parité :
Les informations sont faites pour être échangées ; Pour cela il faut les transporter via un
support électrique. Ce support est soumis aux bruits électroniques et donc on risque de perdre
l’information.
On utilise alors une astuce qu’on nomme parité ; Elle peut être paire ou impaire mais le choix
doit être identique à l’émetteur et au récepteur.
VII-2- Principe :
On utilise le bit de poids fort pour gérer la parité. Si nous choisissons une parité paire cela
veut dire qu’il faut compter le nombre de1
Exemple : Soit le mot ascii 111 0010 (caractère r) sur 7 bits le nombre de 1 vaut 4.
Ce nombre est pair et donc le bot de poids fort prendra la valeur 0
0111 0010
Soit le mot ascii 011 0010 (caractère 2) sur 7 bits le nombre de 1 vaut 3.
Ce nombre est impair donc le bit de poids fort prendra la valeur 1 pour devenir pair.
Remarque : Si deux chiffres du mot sont altérés alors l’erreur n’est pas détectée. Il faut recourir à
d’autres contrôles. On Utilisera le codage de HAMMING
VII-3- Transmission :(Faire dessin)
Pour communiquer les systèmes doivent pouvoir être reliés. On utilise deux méthodes de
transmission :
- PARALLELLE : Chaque bit possède son propre fil et ils sont transmis
simultanément
- SERIE : n utilise une seule ligne de transport et tos les bits sont émis
séquentiellement (un par un).
Codage et arithmétique binaire.doc
16
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
EXPLICATION DU CODE DE HAMMING (GÉNÉRATION ET TRANSMISSION).
Le code de Hamming est un code correcteur d’erreur utilisé pour transmettre un message dans un canal
bruité
Ce code permet de reconstituer le message émis même si des erreurs (en nombre limité) ont altéré le
message
Principe
Alphabet source et code : {0,1}
mot-source de longueur m
mot-code de longueur n avec n = m
Application de {0,1}m vers {0,1}n
Parmi les n bits du mot-code
m produisent le mot-source
n-m produisent les bits de correction
Taux de transmission est de n/m
Si 2 mots distincts du code différent au moins en d bits, alors le code permet de corriger exactement
(d-1)/2 erreurs.
Conditions
n = 2k-1
m = n-k
Pour k fixé et n grand, le taux de transmission est voisin de 1
Exemple
donnée de 8 bits 100101112 (m = 8)
on en déduit k
k=3 : 8 £ 12 non vérifiée !
k=4 : 16 ³ 13 vérifiée !
On intercale les bits de contrôles toutes les 2n positions
Codage et arithmétique binaire.doc
17
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
Codage et arithmétique binaire.doc
18
EPMI Cergy
1AING
gdedel.webhop.net
[email protected]
ELECTRONIQUE NUMERIQUE
Codage et arithmétique binaire
EPMI Cergy
1AING
Exemple : Un équipement récepteur reçoit l’information suivante : 0011001. Dites si une erreur de
transmission s’est produite et si oui sur quel bit. Même chose pour 0101001.
0011001 mot de 7 bits donc bits de contrôle 1, 2, 4
7654321
b’1
b1= 1 @ 3 @ 5 @ 7 = pair 0
b2= 2 @ 3 @ 6 @ 7 = pair 0
b4= 4 @ 5 @ 6 @ 7 = imp 1
br1
il y a un bit impair donc il y a erreur
le mot d’erreur formé est 100 soit 4 donc le 4 bit est faux, le vrai mot est 0010001 et la donnée est 0010.
1010010 mot de 7 bits donc bits de contrôle 1, 2, 4
7654321
b1= 1 @ 3 @ 5 @ 7 = pair 0
b2= 2 @ 3 @ 6 @ 7 = pair 0
b4= 4 @ 5 @ 6 @ 7 = pair 0
il n’y a pas d’erreur
le mot est bien 1010010 et la donnée est 1010.
Codage et arithmétique binaire.doc
19
gdedel.webhop.net
[email protected]