Vendredi 27 Juin 2025

Électronique numérique

 

1.2. Représentation des nombres

1.2.1. Nombres entiers relatifs

Plusieurs méthodes existent pour représenter les entiers signés: représentation signe module, complément à un ou à deux.

 

Représentation signe module

Dans ce mode de représentation, la valeur absolue, le module est codé en binaire pur et le signe par un bit (0 pour un nombre positif et 1 pour le négatif). Avec n bits, les nombres représentés sont compris entre -2 n-1 +1 et +2 n-1 -1.

 

Exemple: sur 8 bits ( + 106) 10 =( 0 1101010) 2 et ( - 106) 10 =( 1 1101010) 2 .

 

L'inconvénient avec ce mode de représentation est que le zéro est représenté de deux manières différentes. En effet sur 4 bits par exemple on a un zéro négatif (1000)2 et un zéro positif (0000)2 . En outre l'addition s'avère difficile:

(-1)10 + (+1)10 =0  or (1001)2+ (0001)2 =(1010)2 =(-2)10 , ce qui est faux.

 

Représentation en complément à un

Les nombres positifs sont codés en binaire pur alors que les nombres négatifs sont représentés en remplaçant les bits de leur valeur absolue par leurs compléments. Le premier bit indique donc le signe du nombre. La double représentation du zéro persiste toujours.

 

Exemple: ( + 36) 10 =( 0 0100100)2 . en remplaçant tous les 0 par des 1 et vice-versa on a ( - 36)10 =( 1 1011011)2

 

Représentation en complément à deux

Ce mode de représentation permet de supprimer l'inconvénient du double zéro. Les nombres positifs sont codés en binaire pur et les négatifs sont obtenus en rajoutant 1 au complément à un. Avec n bits, les nombres représentés sont compris entre -2 n-1 et +2 n-1 -1.

 

Exemple: (+13) 10 =(00001101)2 et (-13) 10 =(11110010) 2 +1=(11110011)2 .

Les opérations d'addition et de soustraction sont plus aisées.

1.2.2. Nombres réels

Représentation en virgule fixe

Dans la représentation en virgule fixe on utilise des puissances de 2 décroissantes à partir de 0 (2 0 , 2-1 ,2-2 ,..etc.) en plus. Un nombre N se mettra alors sous la forme:

N=an-1 2 n-1 + a n-2 2 n-2 +...+ a0 2 0 + a -1 2 -1 +...+ a -(m+1) 2 -(m+1) .

 

Exemples: g (53, 625)10 =(110101,101)2 = 1x25 + 1x24+ 0x2 3 + 1x22 + 0x2 1 + 1x20 + 1x2-1 + 1x2-3 .

 

En effet on code d'abord la partie entière 32 et ensuite la partie décimale 0,625. Pour coder la partie décimale on procède comme suit:

0,625 x 2= 1 ,25 on conserve le 1 et reste 0,25

0,25   x 2= 0 ,50 on conserve le 0 et reste 0,50

0,50   x 2= 1 ,00 on conserve le 1 et on arête.

d'où (0,625)10 =(0, 1 0 1 )2 .

Avec la même démarche on a (0,125)10 =(0,001)2.

La virgule se trouve toujours entre les bits ayant pour puissance de 2, 20 et 2-1 . Ce mode de représentation trouve une limite lorsqu'on doit travailler avec de grands nombres.

 

Représentation en virgule flottante

Le nombre N à représenter est mis sous la forme N=(-1)s.X. BE , où  B est la base, S le signe, X la mantisse et E l'exposant.

En binaire B est égal à 2 et  en général les nombres réels sont représentes  suivant un format décrit par la norme IEEE 754.

Dans ce format, le nombre réel est représenté avec un certain nombre de bits (32 bits pour une simple précision, 64 bits pour une double précision). Le bit de poids fort est le bit de signe (0 pour le positif et 1 pour le négatif). L'exposant  est un entier non signé mais biaisé c'est-à-dire décalé (biais=127 ou 1023 selon qu'on a une simple ou une double précision), codé sur 8 bits (simple précision) ou 11 bits (double précision).

 

La mantisse occupe les autres bits restant (23 ou 52) ; elle est souvent normalisée c'est-à-dire qu'elle comporte un seul chiffre non nul avant la virgule donc un 1. Dans ce format de représentation, l'exposant qui y figure est l'exposant biaisé:

 

Exposant biaisé=exposant réel + biais

 

Exemple: Pour représenter (-53,625)10 en binaire en simple précision, on représente d'abord en virgule fixe la mantisse soit:

(53,625)10 =(110101,101)2

On normalise ensuite la mantisse en la décalant ainsi : 110101,101=1, 10101 101 x 2 5 . La mantisse X sur 23 bits vaut donc X= 10101 101 0...0. L'exposant réel ou normal est E= 5 , de sorte que l'exposant biaisé est e=E+biais=(127+5)10 =(1000 0100)2. D'où le format de représentation en tenant compte du bit de signe qui vaut 1:

1

10000100

10101101000000000000000

 

soit  C25 68 000 en hexadécimal.

Note: avec une mantisse normalisée, il est impossible de représenter 0x10 0 , il faut donc utiliser une mantisse dénormalisée .

 

2/11

 

Qui je suis | Plan du site | Me contacter