1 of 35

1

CH1. Systèmes de Numérations

Généralisation:

un nombre A peut être exprimé dans un système de numération de Base B � (B ϵ N*) :

(A)B = an-1 an-2 ......a1 a0 a-1 a-2 ... a-m Chaque chiffre ai est tel que : 0 ≤ ai ≤ B-1

* an-1 est le symbole de poids le plus fort (MSB : Most Significant Bit si b = 2),

* a−m est le symbole de poids le plus faible (LSB : Least Significant Bit si b = 2)

 

La valeur numérique de A dans le système décimal est :

 

(A)10 = A = an-1 . Bn-1 + an-2 . Bn-2 + .......+ a0 . B0 + a-1 . B-1 +a-2 B-2 +...+ A-m . B-m (1)

 

n-1 m

A10 = ∑ ai . Bi + ∑ a-j . B-j +

i=0 j=1

partie entière

partie fractionnaire

2 of 35

2

CH1. Systèmes de Numérations

Bases de numération usuelles et représentation des nombres positifs.

les bases les plus utilisées en informatique sont les bases 10, 2, 8 et 16 appelées respectivement « décimale (B=10) », « binaire (B=2) », « octale (B=7) » et « hexadécimale (B=16) ».

  • La numération décimale utilise les 10 chiffres 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  • La numération binaire utilise les 2 bits 0 et 1,
  • La numération octale utilise 8 chiffres : 0, 1, 2, 3, 4, 5, 6, 7,
  • La numération hexadécimale utilise 16 symboles : 0, 1, 2, ..., 9, A, B, C, D, E, F (les symboles de A à F ont pour équivalents décimaux les nombres 10 à 15).

  • Exemples:

9817 = 9.103 + 8.102 + 1.101 + 7.100

297,45 = 2.102 + 9.101 + 7.100 + 4.10-1 + 5.10-2

3 of 35

3

CH1. Systèmes de Numérations

Conversions entre bases de numération (nombres positifs):

Les conversions les plus utilisées sont les suivantes

• base b vers base 10

• base 10 vers base b

• base 2 vers base 2n (8 ou 16)

• base 2n (8 ou 16) vers base 2

4 of 35

4

CH1. Systèmes de Numérations

Représentation des nombres positifs

1) Base b vers base 10

Pour convertir un nombre d’une base b vers la base décimale, on utilise la méthode dite des additions qui consiste à utiliser la représentation du nombre sous forme polynomiale (équation 1).

Ex1: conversion du nombre binaire entier N(2) = 1101 0011 en base 10.

N=1.20+1. 21+0. 22+0. 23+1. 24+0. 25+1.26+1. 27=211(10)

Ex2: conversion du nombre binaire fractionnaire N(2)= 110011,1001 en base 10.

N=1.20+1.21+0.22+0.23+1.24+1.25+1.2-1+0.2-2+0.2-3+1.2-4=51,5625 (10)

5 of 35

5

CH1. Systèmes de Numérations

Représentation des nombres positifs

1) Base b vers base 10

Ex3: conversion du nombre octal entier N(8)= 4513 en base 10 .

N=3.80+1. 81+5. 82+4. 83=2379(10)

Ex4: conversion du nombre hexadécimal fractionnaire N(16)= 1B20,8 en base 10 .

N=0.160+2. 161+11. 162+1. 163+ 1.164 =6944,5(10)

6 of 35

6

CH1. Systèmes de Numérations

Représentation des nombres positifs

2) Base 10 vers base b

a) Nombres entiers

Pour effectuer une conversion d’un entier décimal dans une autre base on applique la méthode des divisions successives : on effectue des divisions successives du nombre par cette base, les restes successifs forment alors le nombre converti.

Exemple 1 : conversion de N( ) 10 = 52 en base 2

7 of 35

7

CH1. Systèmes de Numérations

Représentation des nombres positifs

2) Base 10 vers base b

a) Nombres entiers

Ex1 : conversion de N(10 ) = 52 en base 2

Donc

52(10 ) =110100 (2 )

8 of 35

8

CH1. Systèmes de Numérations

Représentation des nombres positifs

2) Base 10 vers base b

a) Nombres entiers

Ex2: conversion de N(10) = 90 en base 8

Donc

90(10 ) =132 (2 )

9 of 35

9

CH1. Systèmes de Numérations

Représentation des nombres positifs

2) Base 10 vers base b

  1. Nombres fractionnaires

Pour convertir un nombre fractionnaire de la base 10 vers une autre base, il faut procéder en deux étapes. La partie entière du nombre est convertie comme indiqué précédemment; la partie fractionnaire du nombre est convertie par multiplications successives: on multiplie successivement la partie fractionnaire par la base cible, en retenant les parties entières qui apparaissent au fur et à mesure.

10 of 35

10

CH1. Systèmes de Numérations

Représentation des nombres positifs

2) Base 10 vers base b

  1. Nombres fractionnaires

Ex1 : conversion de N(10)=12,925 en base 2

• partie entière : 12(10)=1100(2)

• partie fractionnaire :

0,925(10 ) =0,111….(2)

Donc

12,925(10 ) =1100,111(2 )

11 of 35

11

CH1. Systèmes de Numérations

Représentation des nombres positifs

3) Base 2 vers base 2n

  • L’utilisation des bases 2n (8 et 16) permet de réduire le nombre de symboles à écrire tout en conservant la possibilité de conversion instantanée en binaire.

  • Pour convertir un nombre de la base 2 vers la base 2n, il suffit de regrouper les bits par groupes de (3 bits) pour la base octale et (4 bits) pour la base hexadécimale, et de remplacer chacun de ces groupes par le symbole correspondant dans la base d’arrivée.

  • Pour la partie entière, le regroupement part du bit de poids faible, et pour la partie fractionnaire, commence du bit de poids fort (de la virgule). Lorsqu’un groupe est incomplet, on le complète avec des 0.

12 of 35

12

CH1. Systèmes de Numérations

Représentation des nombres positifs

2) Base 2 vers base 2n

Ex 1 : conversion de N(2 )= 1100111010101 en base 8 puis 16

Base 8: 001 100 111 010 101(2 ) =14725(8 )

Base 16: 0001 1001 1101 0101(2 ) = 19D5(16)

Exemple 2 : conversion de N(2) = 110100110,101101 en base 8 puis 16

Base 8: 110 100 110,101 101(2)= 646,55(8 )

Base 16: 0001 1010 0110,1011 0100 (2 ) =1A6, B4(16)

v

5

2

7

4

1

5

D

9

1

5

5

6

4

6

4

B

6

A

1

13 of 35

13

CH1. Systèmes de Numérations

Représentation des nombres positifs

4) Base 2n vers base 2

Pour la conversion inverse, il suffit de développer chaque symbole de la représentation dans la base 2n sur n bits.

Ex1 : 4A1(16) = 0100 1010 0001 = 010010100001(2 )

Ex2 : 73,15(2 ) = 111 011,001 101= 111011,001101(2 )

Conversion hexadécimal octal:

il faut passer par la base 2

1

A

4

5

1

3

7

14 of 35

14

CH1. Systèmes de Numérations

EXERCICE D’APPLICATION

 

Convertir les nombres suivants

  A= (6,625)10 = ( )2

 

B= (23, 7)8 = ( )10

 

 

C= (0110101, 010)2 = ( )10

D= (13A, 4)16 = ( )10

 

15 of 35

15

CH1. Systèmes de Numérations

Représentation des nombres signés:

 

1- Représentation module + signe:

Solution la plus simple : on ajoute un bit à gauche du module pour le signe. Ainsi,

si MSB=0 Nombre positif

si MSB=1 Nombre négatif

Avantage: simple pour afficher un nombre

Inconvénient : on a deux représentations

différentes pour le zéro.

Représentation "module + signe" sur 4 bits

16 of 35

16

CH1. Systèmes de Numérations

Extension d’un nombre en représentation "module + signe"

L’extension d’un nombre codé sur n bits à un format sur n+k bits consiste à décaler le bit de signe à la position du MSB et à compléter les autres positions par des 0, que le nombre soit positif ou négatif.

Exemple

8bits 8bits

0110(M+S) 00000110(M+S) 1110(M+S) 10000110(M+S)

+6

-6

17 of 35

17

CH1. Systèmes de Numérations

Représentation des nombres signés:

 

1- Représentation en complément à 2 ou complément vrai:

  • les nombres positifs se représentent par leur valeur binaire naturelle.
  • La représentation des nombres négatifs s’obtient comme suit:

- On part de la représentation binaire naturelle de l’opposé arithmétique du nombre à coder

(nombre positif).

- On calcule le complément à 1 (CA1) ou complément restreint. Celui-ci est obtenu en

inversant tous les bits.

- On déduit le complément à 2 (CA2) en ajoutant 1 au niveau du LSB

Exemple : représentation de -125 en CA2 sur un format de 8 bits

18 of 35

18

CH1. Systèmes de Numérations

 

19 of 35

19

CH1. Systèmes de Numérations

Equivalent en décimal d'un nombre écrit en binaire signé:

 

On travaille en format n bits:

20 of 35

20

CH1. Systèmes de Numérations

Exemple: format de 8 bits

 

A= (01111001) CBS 🡺 A>0 🡺

 

B= (10100111)CBS 🡺

Extension d’un nombre codé en CA2

L’extension d’un nombre codé sur n bits à un format sur n+k bits est réalisé comme suit :

  • Si le nombre est positif, on complète les k bits de poids forts par des 0.
  • Si le nombre est négatif, on complète les k bits de poids forts avec des 1.

21 of 35

21

CH1. Systèmes de Numérations

 

22 of 35

22

CH1. Systèmes de Numérations

 

signe

Exposant

Mantisse

23 of 35

23

CH1. Systèmes de Numérations

Représentation des nombres réels dans un calculateur :

 

1-Codage en virgule flottante :

Exemple 1bit 4bits 12 bits

Soit la mémoire de taille suivante :

Coder la valeur 26,75 en virgule flottante

Signe

Exposant

Mantisse

24 of 35

24

CH1. Systèmes de Numérations

Arithmétique binaire:

 

- L’addition ou somme arithmétique :

 

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 et on ‘retient’ 1

1 + 1 + 1 = 1 et on ‘retient’ 1

 

Exemples: 10001 + 0101 =

0111 + 1011 =

25 of 35

25

CH1. Systèmes de Numérations

Arithmétique binaire:

 

- Soustraction:

 Dans la soustraction binaire, on procède comme en décimal. Quand la quantité à

soustraire est supérieure à la quantité dont on soustrait, on emprunte 1 au voisin de

gauche.

En binaire, ce 1 ajoute 2 à la quantité dont on soustrait, tandis qu’en décimal il ajoute

10.

0 - 0 = 0

1 - 0 = 1

1 - 1 = 0

0 - 1 = 1 et on ‘emprunt’ 1

 

Exemple:

0101,0 – 0011,1=

26 of 35

26

CH1. Systèmes de Numérations

Soustraction dans le binaire signé:

On peut utiliser le complément à 2 de la valeur à soustraire puis on additionne. Cela se

passe de cette manière dans les calculateurs.

 

A – B = A + (- B)

 

Exemple

 00011-01100=

27 of 35

27

CH1. Systèmes de Numérations

Additions dans le code binaire signé:

 

Exemple :

3 0 0 1 1 0 1 0 1 5

2 + 0 0 1 0 et + 0 1 0 1 5

5 = 0 1 0 1 = 1 0 1 0 -6

Correct Faux car overflow

 

Donc à chaque opération il faut tester le débordement, c’est pourquoi les microprocesseurs disposent d’un indicateur (ou flag) qui indique s’il y a overflow ou non.

28 of 35

28

CH1. Systèmes de Numérations

Soustraction dans le binaire signé:

On peut utiliser le complément à 2 de la valeur à soustraire puis on additionne. Cela se

passe de cette manière dans les calculateurs.

 

A – B = A + (- B)

 

Exemple

 00011-01100=

29 of 35

29

CH1. Systèmes de Numérations

Multiplication dans le binaire signé:

On multiplie les nombres binaires de la même façon qu’on multiplie les nombreux décimaux.

Si les nombres à multiplier sont négatifs, ce sont leurs compléments à 2 qui sont pris en

compte avant la multiplication. 

 

Exemple

 0101*0010=

La multiplication binaire par 2N, se résume à un décalage de N bits vers la gauche. On

introduira donc à droite N zéro

8*4)10 sur 8 bits = ( )2

30 of 35

30

CH1. Systèmes de Numérations

Division binaire:

La division binaire s’effectue à l’aide de soustractions et de décalages, comme la

division décimale, sauf que les digits du quotient ne peuvent être que 1 ou 0. Le bit du

quotient est 1 si on peut soustraire le diviseur, sinon il est 0. 

 

Exemple

division réelle  (1011)2/(100)2 =

division entière  (10010000111)2/(1011)2= reste=

La division binaire par 2N, se résume à un décalage de N bits vers la droite. En arithmétique

signée, il faut penser à recopier à gauche le bit de signe autant de fois que nécessaire

8/4)10 sur 8 bits = ( )2 -16/4)10 sur 8 bits = ( )2

31 of 35

31

CH1. Systèmes de Numérations

Classification des codes binaires :

Codage : opération qui établit une correspondance entre un ensemble source (nombre, caractère, symbole) vers un ensemble but contenant des combinaisons de 0 et de 1.

2 familles des codes: Codes pondérés, Codes non pondérés

Codes numériques pondérés

Code binaire pur

Ce code pondéré par des puissances de 2, utilisé en arithmétique binaire.

Code DCB (Décimal Codé Binaire)

chaque chiffre décimal (0, 1, . . . , 9) est codé en binaire avec 4 bits.

Code pondéré avec les poids 1, 2, 4, 8, 10, 20, 40, 80, 100, . . .

Plus facile pour coder des grands nombre, il est surtout utilisé pour l’affichage des nombres.

Ex : 1995(10) =(0001 1001 1001 0101)(BCD) . , 45+33= , 47+35=

32 of 35

32

CH1. Systèmes de Numérations

Classification des codes binaires :

Codes numériques non pondérés

Binaire réfléchi (code Gray)

La propriété principale de ce code est que deux mots successifs du code ne diffèrent que par un élément binaire.

Construction:

on copie les mots du code de départ, précédés d’un 0, suivis des mots du même code, pris dans l’ordre inverse et précédés d’un 1.

Ex : Construire le code gray en 1,2,3,4 bits.

33 of 35

33

CH1. Systèmes de Numérations

Classification des codes binaires :

Codes numériques non pondérés

Code excédent 3 ou excess 3

Il est obtenu en décalant le code binaire pur de trois lignes vers le haut

On remarque que pour ce code si on prend

deux combinaisons symétriques par rapport à l'axe X,

elles sont complémentaires

Avec ce code, toute opération de soustraction se ramène à une addition.

Ex:

(7 − 5)(XS3) =

x

34 of 35

34

CH1. Systèmes de Numérations

Classification des codes binaires :

Codes numériques non pondérés

Les codes alphanumériques ASCII (American Standard Code for Information Interchange)

· 26 caractères pour les lettres minuscules · 26 caractères pour les lettres majuscules

· 10 pour les chiffres décimaux ·30 pour les caractères spéciaux (><%§+_-...)

35 of 35

35

CH1. Systèmes de Numérations

Codes numériques non pondérés

Le code à barre:

Le code à barre qui figure sur la plupart des emballages

des produits de consommation courante est la fiche d’identité du produit.

Le marquage comporte un certain nombre de barres verticales ainsi que 13 chiffres :

- Le 1er chiffre désigne le pays d’origine : 6= Maroc, 3= France, 4= Allemagne, 0 = U.S.A, 7= Canada etc.

- Les cinq suivants sont ceux du code « fabricant »,

- Les six autres sont ceux du code de l’article,

- Le dernier étant une clé de contrôle