Informatique Industrielle : Système de Numeration
Télécharger PDFObtenir le pack complet des cours, TDs, TPs et projets sur Informatique Industrielle : Microprocesseur & Microcontrôleur!
Vous souhaitez maîtriser les microprocesseurs et Microcontrôleurs ? Ne cherchez plus, nous avons le pack parfait pour vous.

Accédez à une collection complète des supports de cours, des travaux dirigés (TD) corrigés, des travaux pratiques (TP) et des projets.
Obtenir le pack maintenantUNIVERSITE SIDI MOHAMMED BEN ABDELLAH Mr KHATORY Ecole Supérieure de Technologie de Filière Génie Industriel et Maintenance INITIATION INFORMATIQUE I (Système de numération) (1° GIM) TT AA BB LL EE DD EE SS MM AA TT II éé RR EE SS INTRODUCTION ..................................................................................................... 1 I. SYSTEME DE NUMERATION ............................................................................ 1 1. système décimal .......................................................................................... 1 2. Système Binaire ........................................................................................... 1 3. Système octal .............................................................................................. 2 4. Système hexadécimal ................................................................................. 2 5. Changement de base : ................................................................................. 2 a. conversion octal → binaire (binaire → octal) ..................................... 2 b. conversion hexadécimal → binaire (binaire → hexadécimal) ............ 2 c. conversion décimal → binaire , décimal → octal, ou décimal → hexadécimal ................................................................................................... 3 d. conversion d'une base X vers base Y ................................................... 3 II. CODAGE .......................................................................................................... 4 1. Codes numériques ....................................................................................... 4 a. code binaire naturel ............................................................................. 4 b. code binaire réfléchi ............................................................................. 4 c. code décimaux ...................................................................................... 5 d. complément à 2 .................................................................................... 6 e. nombres fractionnaires ........................................................................ 7 f. représentation des nombres réels ...................................................... 9 2. Codes alphanumériques ........................................................................... 10 a. codes ASCII .......................................................................................... 10 b. code E.I.A ............................................................................................ 13 c. code Unicode ...................................................................................... 13 d. le Code Barre ...................................................................................... 13 Mr KHATORY 1/13 INTRODUCTION La création de la numération est un des faits les plus marquants de l'histoire de l'humanité. Si la plupart des civilisations ont adopté le système décimal, c'est qu'il a toujours été naturel de compter sur ses doigts. L'utilisation des phalanges et des articulations permit même d'améliorer ce simple procédé connu de tous. I. SYSTEME DE NUMERATION On utilise les " systèmes de numération" pour compter des objets et de les représenter par des nombres. Trois notions interviennent dans un système: la base B du système, c'est un nombre entier quelconque. Les digits du système sont des caractères tous différents et représentent chacun un élément de la base; il y en a donc B au total Poids du digit selon son rang Ecriture d'un nombre A dans la base B : (A)B = a3 a2 a1 a0 (4 chiffres) a
i < B (i ) (A)B = a0 B
0 + a1 B
1 + a2 B
2 + a3 B
3 ; Poids ai = Bi 1. système décimal Dans la base 10
"système décimal ", il y a dix digits: 0,1,2,3,4,5,6,7,8 et 9 appelés chiffre (1234)10 = 4x10
0 + 3x10
1 + 2x10
2 + 1x10
3 =4 + 30 + 200 + 1000 B=10; Poids: du premier digit est 100 =1 (Unité) du deuxième digit est 101 =10 (Dizaine) du troisième digit est102 =100 (Centaine) du quatrième digit est 103 =1000 (Milliers) 2. Système Binaire Dans ce système, la base B vaut 2, et il y a donc 2 digits 0 et 1 appelés dans ce cas
" BIT" (Binary digIT). Par exemple, le nombre 1011 exprimé en binaire signifie: (1011)
2 = 1x2
0 + 1x2
1 + 0x2
2 + 1x2
3 =1 + 2 + 8 =(11)
10 Mr KHATORY 2/13 3. Système octal Dans ce système, la base vaut 8 et il y a 8 digits: 0,1,2,3,4,5,6 et 7. Il n'y a
pas de chiffres 8 et 9. Par exemple: le nombre 275 exprimé en octal: (275)
8 = 5x8
0 + 7x8
1 + 2x8
2 = 5 + 56 + 128 = (189)
10 4. Système hexadécimal Dans ce système, la base B vaut 16 et il y a 16 digits: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E et F. Les dix premiers digits de 0 à 9 sont les chiffres du système décimal et les digits de 10 à 15 sont les premières lettres majuscules de l'alphabet. Exemple, le nombre BAC exprimé en hexadécimal : (BAC)
16 = Cx16
0 + Ax16
1 + Bx16
2 =12 + 10x16 +11x256 =12 + 160 + 2816 =(2988)10 (3F9)
16 =9x16
0 + 15x16
1 + 3x16
2 =9 + 240 + 768 =1017 5. Changement de base : a. conversion octal → binaire (binaire → octal) On peut remarquer que 8 = 23 ; On peut donc faire correspondre à chaque digit d'un nombre exprimé en octal un ensemble de 3 bits du même nombre exprimé en binaire. Par exemple: (763)
8 = (111)(110)(011) =(111110011)
2 La conversion inverse, binaire → octal, se fait de la même façon, en décomposant le nombre binaire par ensembles de 3 bits à partir de la droite. Par exemple: (10111011101) 2=(2735) 8
b. conversion hexadécimal → binaire (binaire → hexadécimal) De la même manière, on peut remarquer que 16=24 On fera donc correspondre à chaque digit d'un nombre hexadécimal 4 bits du nombre binaire correspondant. Par exemple : (A28)16 =(101000101000)2 La conversion inverse, binaire hexadécimal, se fait en décomposant le nombre binaire par ensembles de 4 bits à partir de la droite. Mr KHATORY 3/13 Par exemple: (101110011101001)
2 = ( 0101)(1100)(1110)(1001)=(5CE9) 16
L'expression hexadécimal d'un nombre binaire est très utilisée pour interpréter des résultats fournis par un "microprocesseur". c. conversion décimal → binaire , décimal → octal, ou décimal → hexadécimal La conversion de l'expression décimale d'un nombre en son expression binaire, octale ou hexadécimale repose sur la recherche des multiples des puissances successives de la base (2,8 ou 16 selon le cas) que contient ce nombre. La méthode pratique consiste à effectuer des divisions successives: du nombre par la base, puis du quotient obtenu par la base, puis du nouveau quotient par la base,... jusqu'à ce que le quotient devienne nul. L'expression cherchée est constituée par l'ensemble des restes successifs des divisions, lu à l'envers. 229 2 1114 20 572 1 28 2
0 14 2
0 7 2
1 3 2
1 1 2 1 0 (11100101)2 =(229)10 la même méthode serait applicable pour les conversions : décimal → octal (des divisions successives par 8) décimal → hexadécimal(des divisions successives par 16). d. conversion d'une base X vers base Y si X = B
m et Y= B
n Alors convertir le nombre de la base X (B
m ) vers Bpuis de la base B vers la base Y (B
n ) Sinon Convertir de la base X vers la base 10 puis de la base 10 vers la base Y Base X Base Y Base B (ou 10) Mr KHATORY 4/13 II. CODAGE On distingue deux catégories de codes: les "codes numériques" qui permettent seulement le codage des nombres, et les "codes alphanumériques" qui permettent le codage d'une information quelconque (ensembles de lettres, de chiffres et de symboles). 1. Codes numériques a. code binaire naturel Le code binaire naturel est le code dans lequel on exprime un nombre selon le système de numération binaire. Quelques notions: un quartet : c'est un mot de 4 bits (0-15) un octet : c'est un mot de 8 bits (0-255) un "kilo" : unité de capacité de traitement numérique (10 bits: 0-1023) Inconvénients du code binaire naturel: nécessite une grande quantité de bits pour exprimer un nombre peut introduire des erreurs lors du codage de grandeurs variant de façon ordonnée. Entre deux codes successifs, plusieurs bits pourront alors être amenés à changer simultanément: 01 → 10 (01 →11→ 10 ou 01→ 00→ 10) b. code binaire réfléchi Dans ce code, appelé code GRAY, un seul bit change de valeur entre deux codages successifs. Il est construit de proche en proche, de telle sorte que chaque fois que l'on ajoute au code un bit sur sa gauche, on recopie au dessous de combinaisons existantes les mêmes combinaisons, mais en les écrivant dans l'ordre opposé. Code binaire Naturel....... ..Code binaire réfléchi Sur 3 bits.................000.......................... ..000 001.......................... ..001 010.......................... ..011 011.......................... ..010 100.......................... ..110 101.......................... ..111 110.......................... ..101 111.......................... ..100 Mr KHATORY 5/13 Code binaire Naturel....... ..Code binaire réfléchi
Sur 4 bits 0 0000.......................... ..0000 1 0001..........................
0001 2 0010.......................... ..0011 3 0011.......................... ..0010 4 0100.......................... ..0110 5 0101.......................... ..0111 6 0110.......................... ..0101 7 0111.......................... ..0100 8 1000.......................... ..1100 9 1001.......................... ..1101 10 1010.......................... ..1111 11 1011.......................... ..1110 12 1100.......................... ..1010 13 1101.......................... ..1011 14 1110.......................... ..1001 15 1111.......................... ..1000 Méthode
La valeur numérique d'un nombre binaire réfléchi s'obtient en donnant aux chiffres successifs pris de droite à gauche les poids 1,3,7,15,...2
n+1 –1 et en effectuant la somme des produits non nuls, de signes alternés. Exemple: 1011 +15
-3 +1
= 13 0100 +7 =7 10O1 +15-1 = 14 voir le tableau ci-dessus 1110 +15 -7 +3
= 11 0111............................ = 5 Autre méthode: Pour trouver l'expression d'un nombre binaire dans le code réfléchi, on l'additionne sans effectuer la retenue, avec le nombre obtenu en le décalant vers la gauche d'un rang et on abandonne le chiffre du plus petit poids. Exemple:
1 0 1 1 +
1 0 1 1
1 1 1 0 1
1110 en code réfléchi correspond à (11)
10 c. code décimaux On code chaque chiffre (0-9) en binaire sur 4 bits ( 2
3 < 10≤24 ). Ce code est appelé DCB: (Décimal Codé en Binaire) en anglais BCD: Binary Coded Decimal (1297)
10 = (0001 0010 1001 0111)
BCD Mr KHATORY 6/13 d. complément à 2 Question :comment représenter un nombre négatif en représentation binaire? arithmétique binaire somme avec retenue Produit "NON" Complément a b S R a b P a ā 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0
1 1 0 1 1 1 1
S=ab R=ab P=ab représentation en complément à 2 soit A = a
n-1 a
n-2 ....a
0 un nombre binaire à n bits. A : an-1 an-2 ... a
0 C : ān-1 ān-2 ... ā
0 A+C: 1 1 ... 1
+1 1A+C+1 1 0 0 ... 0 A+C+1 = 2n , or on travaille sur n bits, et 2
n est représenté par n zéro, on a alors une représentation unique de 0. B= 2
n – A est appelé le complément à 2 du nombre A. A +B s'écrit 0 sur n bits. B=2
n –A =C+1 Conclusion: Pour avoir la représentation d'un nombre négatif en complément à 2, on complémente tous les bits et on ajoute 1 Exemple: code binaire signé sur 4 bits.
Positif négatif Formule: Complément à 1 +1 0 ...................0000...... 0000 !!!............... 1111 + 1= 1( 0000) 1 ...................0001...... 1111................... -1 1110 +1 =1111 2 ...................0010...... 1110................... -2 1101 +1 =1110 3 ...................0011...... 1101................... -3 1100 +1 =1101 4 ...................0100...... 1100................... -4 1011 +1 =1100 5 ...................0101...... 1011................... -5 1010 +1 =1011 6 ...................0110...... 1010................... -6 1001 +1 =1010 7 ...................0111...... 1001................... -7 1000 +1 =1001 Pas de 8 !! 1000................... -8 (-8) Idem sur n bits: A= an-1 a
n ...a
0 on complémente à 1 A puis on additionne 1. Mr KHATORY 7/13 e. nombres fractionnaires
Rappel: Soit une base b associée à b symboles {S0 , S1 , S2 , ..., Sb-1 } Un nombre positif N dans un système de base b s’écrit sous la forme polynomiale: La représentation simple de position est la suivante: Méthode: On multiplie la partie fractionnaire par la base en répétant l'opération sur la partie fractionnaire du produit jusqu'a ce qu'elle soit nulle (ou que la précision voulue soit atteinte). Pour la partie entière, on procède par divisions comme pour un entier. Exemple : conversion de (54,25)
10 en base 2 Partie entière : (54)
10 = (110110)
2 par divisions. Partie fractionnaire : 0,25 x 2 = 0,50 a
-1 = 0 0,50 x 2 = 1,00 a
-2 = 1 0,00 x 2 = 0,00a -3 = 0 (54,25)10 = (110110,01)
2 12101211210121 nnmmnnmm N
ababa ba baba babab
12 1 0121, nnmm
a a
a a a a aa
1 12012 est le chiffre de rang (
appartient à un ensemble de
symboles)
est le chiffre le plus significatif
est le chiffre le moins significatif
... partie entière
...partie fractii nm nnm ai aba a
a aa
a aa
ionnaire (<1) Mr KHATORY 8/13 Autre exemple : (0,45)
10 en base 2 ? 0,45 * 2 = 0,90 0 0,90 * 2 = 1,8 1 0,8 * 2 = 1,6 1 0,6 * 2 = 1,2 1 0,2 * 2 = 0,4 0 0,4 * 2 = 0,8 0 0,8 * 2 = 1,6 1 0,6 * 2 = 1,2 ..... (0,45)
10 = (0,0111001...)
2 !!! NB: Une longueur finie en base 10 peut être infinie en base B On conserve la précision relative 10
-3 est approximée par 2
-10 Mr KHATORY 9/13 f. représentation des nombres réels Le codage en complément à deux sur n bits ne permet de représenter qu'un intervalle de 2
n valeurs. Pour un grand nombre d'applications, cet intervalle de valeurs est trop restreint. La représentation à virgule flottante (floating-point) a été introduite pour répondre à ce besoin. Pour des mots de 32 bits,: la représentation en complément à deux permet de coder un intervalle de 2
32 valeurs tandis que la représentation à virgule flottante permet de coder un intervalle d'environ 2
255 valeurs. La représentation en virgule flottante a été normalisée (norme IEEE 754
Figure 1. Représentation des nombres à virgule flottante dans la norme IEEE 754 Signe Exposant Fraction S e f Nombre de bits Taille de s Taille de f Taille de e Emin Emax 32(simple précision) 1 23 8 - 126 127 64 (double précision) 1 52 11 -1022 1023 Dans cette représentation, la valeur d'un nombre sur 32 bits est donnée par l'expression maE ii is e221)1( 231 f
où fi correspond au ième bit de la fraction f. Exemple : n=32 bits: A = 1 10000100 01010000000000000000000 S= 1 (-) , e=132-127=5, f= 2-2 +2-4 =0,25+0,0625=0,3125 A= - 1,3125x2
5 Mr KHATORY 10/13 2. Codes alphanumériques Les codes "alphanumériques" sont des codes destinés à la transmission d'informations quelconques; ils ont donc à représenter au moins 36 caractères (10 chiffres plus 26 lettres). Comme 36 est compris entre 2
5 et 26 , ils devront comporter au moins 6 bits. En fait, ils sont souvent à 8 bits, d'une part pour avoir une certaine souplesse d'utilisation (codes de commande réservés),d'autre part pour permettre la détection des erreurs (avec un bit de parité). a. codes ASCII Le code ASCII (American Standard Code for Information Interchange) comporte 7 bits d'informations et 1 bit de parité. Il est utilisé en particulier pour l'échange d'informations entre une unité centrale et des périphériques en informatique (clavier, imprimante,..) Exemple: Code ASCII Caract
ère Code ASCII Caractère 01000001 "A" 00110000 "0" 01000010 "B" 10110001 "1" 11000011 "C" ..... ... ............ .....
11100001 "a"
Bit de parité Plusieurs points importants à propos du code ASCII : Les codes compris entre 0 et 31 ne représentent pas des caractères, ils ne sont pas affichables. Ces codes, souvent nommés caractères de contrôles sont utilisés pour indiquer des actions comme passer à la ligne (CR, LF), émettre un bip sonore (BEL), etc. Les lettres se suivent dans l'ordre alphabétique (codes 65 à 90 pour les majuscules, 97 à 122 pour les minuscules), ce qui simplifie les comparaisons. On passe des majuscules aux minuscules en modifiant le 5ième bit, ce qui revient à ajouter 32=2
5 au code ASCII décimal. Les chiffres sont rangés dans l'ordre croissant (codes 48 à 57), et les 4 bits de poids faibles définissent la valeur en binaire du chiffre.
Mr KHATORY 11/13 Décimal Hexa Binaire Caractère
Décimal Hexa Binaire Caractère 0 0 X0000000 NUL 32 20 X0100000 ESPACE 1 1 X0000001
33 21 X0100001 ! 2 2 X0000010 STX 34 22 X0100010 " 3 3 X0000011 ETX 35 23 X0100011 # 4 4 X0000100 EOT 36 24 X0100100 $ 5 5 X0000101
37 25 X0100101 % 6 6 X0000110 ACK 38 26 X0100110 & 7 7 X0000111 BEL 39 27 X0100111 ' 8 8 X0001000
40 28 X0101000 ( 9 9 X0001001
41 29 X0101001 ) 10 A X0001010 LF 42 2A X0101010 * 11 B X0001011
43 2B X0101011 + 12 C X0001100
44 2C X0101100 , 13 D X0001101 CR 45 2D X0101101 - 14 E X0001110
46 2E X0101110 . 15 F X0001111
47 2F X0101111 / 16 10 X0010000
48 30 X0110000 0 17 11 X0010001
49 31 X0110001 1 18 12 X0010010
50 32 X0110010 2 19 13 X0010011
51 33 X0110011 3 20 14 X0010100 NAK 52 34 X0110100 4 21 15 X0010101
53 35 X0110101 5 22 16 X0010110
54 36 X0110110 6 23 17 X0010111
55 37 X0110111 7 24 18 X0011000
56 38 X0111000 8 25 19 X0011001
57 39 X0111001 9 26 1A X0011010
58 3A X0111010 : 27 1B X0011011
59 3B X0111011 ; 28 1C X0011100
60 3C X0111100 < 29 1D X0011101
61 3D X0111101 = 30 1E X0011110
62 3E X0111110 > 31 1F X0011111
63 3F X0111111 ? Mr KHATORY 12/13 Décimal Hexa Binaire Caractère
Décimal Hexa Binaire Caractère 64 40 X1000000 @ 96 60 X1100000 ` 65 41 X1000001 A 97 61 X1100001 a 66 42 X1000010 B 98 62 X1100010 b 67 43 X1000011 C 99 63 X1100011 c 68 44 X1000100 D 100 64 X1100100 d 69 45 X1000101 E 101 65 X1100101 e 70 46 X1000110 F 102 66 X1100110 f 71 47 X1000111 G 103 67 X1100111 g 72 48 X1001000 H 104 68 X1101000 h 73 49 X1001001 I 105 69 X1101001 i 74 4A X1001010 J 106 6A X1101010 j 75 4B X1001011 K 107 6B X1101011 k 76 4C X1001100 L 108 6C X1101100 l 77 4D X1001101 M 109 6D X1101101 m 78 4E X1001110 N 110 6E X1101110 n 79 4F X1001111 O 111 6F X1101111 o 80 50 X1010000 P 112 70 X1110000 p 81 51 X1010001 Q 113 71 X1110001 q 82 52 X1010010 R 114 72 X1110010 r 83 53 X1010011 S 115 73 X1110011 s 84 54 X1010100 T 116 74 X1110100 t 85 55 X1010101 U 117 75 X1110101 u 86 56 X1010110 V 118 76 X1110110 v 87 57 X1010111 W 119 77 X1110111 w 88 58 X1011000 X 120 78 X11