electronique numerique codage et arithmétique binairekarlaoui.free.fr/site...

19
ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire EPMI Cergy 1AING Codage et arithmétique binaire.doc gdedel.webhop.net [email protected] 1 I- 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…

Upload: others

Post on 18-Sep-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

1

I- 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…

Page 2: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

2

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 !

Page 3: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

3

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

Page 4: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

4

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.

Page 5: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

5

Au VIII eme 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.

Margarita philosophica de G.Reisch

Page 6: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

6

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

Page 7: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

7

II- 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.

Page 8: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

8

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 0 1/64 = 0.015625 8 8 1/512 = 0.001953125 2.0 Pour faire 0.25 il nous faut : 2 x 1/8 = 0.2 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 2 0 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

Page 9: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

9

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 Soit A7 pour la partie décimale

0.425 0.8 0.8 0.8 16 16 16 16 6.8 12.8 12.8 12.8 Soit 6CCC… Donc 167.425 = A7,6CCh II-2-4- SYNTHESE :

Page 10: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

10

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.

Page 11: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

11

IV- 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

Page 12: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

12

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 - 101 1 Compl 010 21 22 ….. +1 101 1011 donc nous avons 10b et un reste de 11b Rejeté car hors format Autre exemple : 101110 divisé par 110 : 101110 110 - 0110 1 1 1 Compl 1001 21 22 23….. +1 1010 101011 - 0110

Compl 1001 donc nous avons 111b et un reste de 100b +1 1010 7 et un reste de 4 soit 6 x 7 + 6 = 47 101010 - 0110

Compl 1001 +1 1010

10100

Page 13: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

13

V- 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

Page 14: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

14

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)

Page 15: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

15

caractère code ASCII code Hexa caractère code ASCII code Hexa

NUL 0 00 A 65 41 SOH 1 01 B 66 42

STX 2 02 C 67 43 ETX 3 03 D 68 44 EOT 4 04 E 69 45 ENQ 5 05 F 70 46

ACK 6 06 G 71 47 BEL 7 07 H 72 48 BS 8 08 I 73 49 TAB 9 09 J 74 4A

LF 10 0A K 75 4B VT 11 0B L 76 4C FF 12 0C M 77 4D CR 13 0D N 78 4E

SO 14 0E O 79 4F SI 15 0F P 80 50 DLE 16 10 Q 81 51 DC1 17 11 R 82 52

DC2 18 12 S 83 53 DC3 19 13 T 84 54 DC4 20 14 U 85 55 NAK 21 15 V 86 56

SYN 22 16 W 87 57 ETB 23 17 X 88 58 CAN 24 18 Y 89 59 EM 25 19 Z 90 5A

SUB 26 1A [ 91 5B ESC 27 1B \ 92 5C FS 28 1C ] 93 5D GS 29 1D ^ 94 5E

RS 30 1E _ 95 5F US 31 1F ` 96 60 Espace 32 20 a 97 61 ! 33 21 b 98 62

" 34 22 c 99 63 # 35 23 d 100 64 $ 36 24 e 101 65 % 37 25 f 102 66

' 39 27 h 104 68 ( 40 28 i 105 69 ) 41 29 j 106 6A * 42 2A k 107 6B

+ 43 2B l 108 6C - 45 2D n 110 6E . 46 2E o 111 6F / 47 2F p 112 70

Page 16: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

16

caractère code ASCII code Hexa caractère code ASCII code Hexa

0 48 30 q 113 71 1 49 31 r 114 72

2 50 32 s 115 73 3 51 33 t 116 74 4 52 34 u 117 75 5 53 35 v 118 76

6 54 36 w 119 77 7 55 37 x 120 78 8 56 38 y 121 79 9 57 39 z 122 7A

: 58 3A { 123 7B ; 59 3B | 124 7C < 60 3C } 125 7D = 61 3D ~ 126 7E

> 62 3E Touche de suppr 127 7F ? 63 3F @ 64 40

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).

Page 17: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

17

EXPLICATION DU CODE DE HAMMING (GÉNÉRATION ET TRANS MISSION).

� 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

Page 18: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

18

Page 19: ELECTRONIQUE NUMERIQUE Codage et arithmétique binairekarlaoui.free.fr/Site Epmi/Electronique_numérique/Cours/1.Codage_et... · I- LES SYSTEMES DE NUMERATION PRESENTATION/HISTOIRE:

ELECTRONIQUE NUMERIQUE Codage et arithmétique binaire

EPMI Cergy 1AING

Codage et arithmétique binaire.doc gdedel.webhop.net [email protected]

19

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 b1= 1 @ 3 @ 5 @ 7 = pair 0 b2= 2 @ 3 @ 6 @ 7 = pair 0 b4= 4 @ 5 @ 6 @ 7 = imp 1 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.

b’1

br1