1 of 21

Représentation binaire des nombres relatifs

On ajoute un autre bit (à gauche) pour symboliser le signe :

- Si ce bit = 0 ⇒ Le nombre est Positif

- Si ce bit = 1 ⇒ Le nombre est négatif

Exemple : (29)10 = (11101)2 ( représenté sur 5 bits)

(-29)10 = ( 1 11101)2

(+29)10 = ( 0 11101 )2

Les bits grandeur

Le bit signe

Nombre Signé

Représentation valeur absolue et Signée

2 of 21

2

Représentation binaire des nombres relatifs

Limites sur 8 bits:

+ 127 (0 1111111)2

+ 0 (0 0000000)2

- 0 (1 0000000)2

- 127 (1 1111111)2

Valeur absolue et signée – Exemple sur 8 bits

Inconvénient:

Cette représentation ne convient pas pour représenter les nombres négatifs : 0 a deux représentations, la somme de deux nombres opposés n’est pas nulle

3 of 21

3

Représentation binaire des nombres relatifs

Limites sur 8 bits:

+ 127 (0 1111111)2

+ 0 (0 0000000)2

- 0 (1 1111111)2

- 127 (1 0000000)2

Complément à 1 d’un nombre binaire

• Le complément à 1 « ou Complément restreint (CR) » d’un nombre est obtenu en inversant chaque bit (0 → 1 et 1 → 0).

⇒ Complémenter chaque bit de grandeur

Exemple : (+29)10 = (011101)2 ( représenté sur 6 bits)

CR(29)10 = (100010)2

Sur n bits:

x + CR(x) = 2n - 1

4 of 21

4

Représentation binaire des nombres relatifs

Complément à 2 d’un nombre binaire

Le complément à 2 « ou Complément Vrai (CV) » d’un nombre est le complément à 1 auquel on ajoute 1

⇒ CV = CR + 1

Exemple : (+29)10 = (011101)2 ( représenté sur 6 bits)

CR(29) = (100010)2

CV(29) = CR(29) + 1 = (100011)2

(- 29)10 = CV(29)

  • Ce type de codage permet la représentation des nombres négatifs dans les ordinateurs et ce sur 8, 16 ou 32 bits .

5 of 21

5

Représentation binaire des nombres relatifs

Complément à 2 d’un nombre binaire

soit x un nombre binaire qui s’écrit sur n bits alors

CV(x) = - x

En effet :

on a:

x + CR(x) = 2n - 1

⇒ x + CR(x) + 1 = 2n

⇒ x + CV(x) = 2n = (1000….00000)2

⇒ x + CV(x) = 0 sur n bits

⇒ CV(x) = - x

n bits

6 of 21

6

• Représentation sur 4 bits des nombres positifs et négatifs dans les ordinateurs

a3

a2

a1

a0

+7

0

1

1

1

+6

0

1

1

0

+5

0

1

0

1

+4

0

1

0

0

+3

0

0

1

1

+2

0

0

1

0

+1

0

0

0

1

0

0

0

0

0

-1

1

1

1

1

-2

1

1

1

0

-3

1

1

0

1

Représentation binaire des nombres relatifs

7 of 21

7

  • Exemple
  • Codage de -57 pour les 3 méthodes, Sur 8 bits

Entiers signés en binaire : résumé

Dans tous les cas:

  • Si bit de poids fort = 0 : entier positif
  • Si bit de poids fort = 1 : entier négatif
  • Valeur absolue +57 = (00111001)2
  • Nombre signé -57 : 10111001
  • Complément à 1 : CR(57) = 11000110
  • Complément à 2 : -57 = CV(57) = 11000111
  • 57 = 111001

8 of 21

8

    • Complément vrai ou complément à 8

De la même façon, en notation octale, on peut représenter les nombres négatifs

Pour A>0 : - A = CV(A) = CR(A)+1

Où CR(A) le complément restreint de A, est obtenu en complémentant à 7 le nombre A exprimé en octale

Exemple:

Sur 4 digits, A= (+5)10 = (0005)8

(-5)10 = (?)8

CR(A) = (7772)8

(-5)10 = CV(A) = CR(A)+(0001)8 = (7773)8

Représentation octale des nombres relatifs

9 of 21

9

    • Complément à 16

De la même façon, en notation hexadécimale, on peut utiliser le complément vrai ou le complément à 16 pour représenter les nombres négatifs.

Pour A>0, -A = CV(A) = CR(A)+1

Où CR(A) est obtenu en complémentant à F le nombre A exprimé en hexadécimale

Exemple:

Sur 4 digits : +22 = (0016)16

CR(22) = (FFE9)16

-22 = CV(22) = CR(22)+(0001)16 = (FFFA)16

Représentation hexadécimale des nombres relatifs

10 of 21

10

Problèmes liés à la longueur des nombres

Les circuits traitant des nombres de n bits, y compris le bit de signe, peuvent manipuler tous les nombres compris entre - 2n-1 et 2n-1 -1

Exemple :n = 8 ⇒ intervalle allant de – 128 à + 127

Les résultats partiels ou définitifs d’opérations mathématiques ne doivent pas sortir de cet intervalle

Cas de l’addition:

  • Une retenue peut apparaître (CARRY)
  • Un dépassement de capacité est aussi possible (OVERFLOW)
  • L‘Overflow est un dépassement de mémoire, car le nombre de bits en notre disposition est insuffisant pour coder l'information.

11 of 21

11

Problèmes liés à la longueur des nombres

Addition sur 8 bits ⇒ intervalle allant de – 128 à + 127

12 of 21

12

Représentation des réels

  • Nombres à virgule fixe

Soit N un nombre réel à Virgule fixe, alors

,

32

32

Partie entière

Partie fractionnaire

N =

Inconvénients :

    • étendue de représentation limitée
    • 32 bits seulement pour la partie entière
    • 32 bits seulement pour la partie fractionnaire
    • Perte de précision pour les petits nombres

13 of 21

13

Représentation des réels

  • Nombres à virgule flottante

N = (-1)s × 1.M × Be

où : M = mantisse

B = base

e = exposant

s = signe de la mantisse

Exemples:

(101)10 = 1.01 × 102 = 0.101 × 103 = ….

(- 5)10 = (- 101)2 = - 1.01 × 22

14 of 21

14

Standard IEEE 754 (1985)

simple précision sur 32 bits :

1 bit de signe de la mantisse

8 bits pour l’exposant

23 bits pour la mantisse

double précision sur 64 bits :

1 bit de signe de la mantisse

11 bits pour l’exposant

52 bits pour la mantisse

SM E M

1bit 8 bits 23 bits

SM E M

1bit 11 bits 52 bits

SM = 0 pour + , 1 pour -

E = codage de l’exposant par excédant càd e+127 ou e+1023

M = mantisse normalisée

En simple précision, x = (-1)SM * 2(E-127) * 1.M

En double précision, x = (-1)SM * 2(E-1023) * 1.M

Représentation des réels

  • Nombres à virgule flottante

15 of 21

Norme IEEE 754 avec simple précision

Exemple :

(1000)10 = (3E8)16 = (1111101000)2 = 1.111101000 × 29

SM = 0 car nombre positif

e = 9 donc E= e+ 127 = 136 = (10001000)2

M = 111101000

0 10001000 11110100000000000000000

Représentation des réels

  • Nombres à virgule flottante

Exemple: Quel est le nombre A codé avec simple précision par:

A= 1 10000011 01000000000000000000000

A= (-1)1 x 2131-127 x 1.01 = -1 x 24 x 1.25 = -20

16 of 21

16

  • Données numériques
    • Le BCD

    • Le BCD est un code dans lequel chaque chiffre d’un nombre décimal est codé en binaire sur 4 bits.
    • Ces chiffres peuvent être représentés sur un octet individuel, c’est le BCD non compacté.
    • Exemple :

(327)10 →(00000011 00000010 00000111)BCD

Autre Représentation interne de l’information

17 of 21

17

  • Codage des caractères

Le code ASCII (American Standard Code for Information Interchange) Code standard Américain pour l’échange d’information

C'est le système de codage universel.  C'est un code à 7 positions, le huitième bit étant réservé à la parité, ce qui fait 27=128 caractères représentables. Ce code comprend :

    • des fonctions de commandes (transmissions de données, tabulations, Retour chariot ...)
    • des symboles de ponctuations
    • quelques symboles usuels en informatique (@...)
    • les chiffres
    • les majuscules , les minuscules

Autre Représentation interne de l’information

18 of 21

18

  • Codage des caractères

Autre Représentation interne de l’information

19 of 21

19

  • Codage des caractères

Autre Représentation interne de l’information

  • Table des caractères imprimables

20 of 21

20

  • Codage des caractères

Autre Représentation interne de l’information

Exemple 1: Coder en ASCII le mot INFORMATIQUE

Le codage sur un octet du mot INFORMATIQUE est:

01001001 01001110 01000110 01001111 01010010 01001101 01000001 01010100 01010100 01001001 01010001 01010101 01000101

21 of 21

21

Exemple 2

Donner le codage ASCII de la chaîne de caractères ``Bonjour Monsieur !'',

En décimal :

    • 66 111 110 106 111 117 114 32 77 111 110 115 105 101 117 114 32 33

En hexadécimal

    • 42 6F 6E 6A 6F 75 72 20 4D 6F 6E 73 69 65 75 72 20 21

En binaire (sur 4 Bits)

    • 0100 0010 0110 1111 0110 1110 0110 1010 0110 1111 0111 0101 0111 0010 0010 0000 0100 1101 0110 1111 0110 1110 0111 0011 0110 1001 0110 0101 0111 0101 0111 0010 0010 0000 0010 0001.

  • Codage des caractères

Autre Représentation interne de l’information