Objectifs : - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Objectifs :

Description:

Title: Structure interne des ordinateurs Author: Pierre Marchand Last modified by: Pierre Marchand Created Date: 8/3/1999 12:57:05 PM Document presentation format – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 43
Provided by: Pierre239
Category:

less

Transcript and Presenter's Notes

Title: Objectifs :


1
Unité 3 Représentation interne des informations
  • Objectifs
  • À la fin de cette unité,
  • - vous saurez comment passer dune base à lautre
  • - vous saurez comment sont représentés dans
    l'ordinateur les nom-bres fractionnaires et les
    nombres exprimés en virgule flottante.
  • - vous saurez comment l'ordinateur effectue des
    calculs sur des nombres utilisant ces
    représentations.
  • Pour y arriver, vous devez maîtriser les
    objectifs suivants 
  • - passer d'une base à une autre par différentes
    méthodes  évaluation à la main, à l'aide de
    tables, ou à l'aide d'une calculette

2
Unité 3 Représentation interne des informations
  • Objectifs
  • - passer d'une chaîne de caractères entrée au
    clavier pour représenter un nombre entier, et la
    convertir dans le format binaire que comprend
    l'ordinateur, en passant par la représentation
    intermédiaire BCD.
  • - convertir la partie fractionnaire d'un nombre
    décimal dans sa représentation binaire et
    vice-versa
  • - convertir un nombre réel dans sa représentation
    en virgule flottante
  • - effectuer les quatre opérations arithmétiques
    sur des nombres en virgule flottante

3
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Le BCD
  • Le BCD est un code dans lequel chaque chiffre
    dun nombre décimal est codé en binaire sur 4
    bits.
  • Ces chiffres peuvent être représenté sur un octet
    individuel, cest le BCD non compacté.
  • Exemple
  • 32710 ? 0000 0011 0000 0010 0000 0111
  • Comme chaque chiffre nutilise que 4 bits, on
    peut les grouper 2 par octet. Cest le BCD
    compacté.
  • Exemple
  • 5310 ? 0101 0011

4
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Il sagit dévaluer lexpression dans la base
    destination.
  • Décimal-binaire
  • 14210 (1 ? 102) (4 ? 101) (2 ? 100)
  • (1 ? 10102 ? 10102) (1002 ? 10102) 00102
  • 1000 11102

5
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Décimal-binaire
  • On peut effectuer les multiplications par 10 en
    remarquant que 10x 8x 2x, et en se rappelant
    quun décalage à gauche de 1 bit est une
    multiplication par 2. Cest généralement plus
    rapide que la multiplication binaire.
  • Ainsi, 10102 x 10102 10100002 101002 110
    01002.
  • 1002 x 10102 1000002 10002 10 10002
  • On obtient finalement
  • 14210 110 01002 10 10002 00102
  • et
  • 14210 1000 11102

6
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Binaire-décimal
  • 1000 11102 (1 ? 27) (0 ? 26) (0 ? 25) (0
    ? 24) (1 ? 23)
  • (1 ? 22) (1 ? 21) (0 ? 20)
  • 27 23 22 21
  • 12810 8 4 2 14210

7
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Factorisation de Horner
  • anBn an-1Bn-1 a1B a0
  • (((((0 an)B an-1)B an-2)B a1)B a0

8
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Binaire-décimal (algorithme R b 2R)
  • 1000 1110 R 0
  • 1 2 ? 0 1
  • 0 2 ? 1 2
  • 0 2 ? 2 4
  • 0 2 ? 4 8
  • 1 2 ? 8 1710
  • 1 2 ? 1710 3510
  • 1 2 ? 3510 7110
  • 0 2 ? 7110 14210

Arithmétique BCD
9
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Décimal-binaire (algorithme R c 10R)
  • 142 R 0
  • 1 10102 ? 0 1
  • 1002 10102 ? 1 11102
  • 102 10102 ? 11102 1000 11102

10
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Dans les techniques précédentes, on effectuait la
    conversion en utilisant larithmétique de la base
    destination.
  • Toutefois, on peut vouloir effectuer ces
    conversions en utilisant larithmétique de la
    base source. Cest le cas, par exemple, quand
    lordinateur, qui doit travailler en arithmétique
    binaire, désire effectuer une conversion
    binaire-décimal.
  • Pour convertir une nombre N dune base source à
    une base destination en utilisant larithmétique
    de la base source, on divise le nombre N par la
    base destination en utilisant larithmétique de
    base source, jusquà ce que le quotient soit nul.
    La représentation de N dans la base destination
    est alors donnée par la séquence renversée des
    restes.

11
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Exemples Convertir 2710 en base 4

12
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Exemples Convertir 1000 11102 en base 10
  • 1000 11102 / 10102 11102, reste 00102
  • 1110 / 1010 0001, reste 01002
  • 0001 / 1010 0000, reste 00012
  • ? 1000 11102 0001 0100 0010 14210 en BCD
    compacté
  • ou 0000 0001 0000 0100 0000 0010 en BCD non
    compacté

13
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Conversion hexadécimal-décimal et
    décimal-hexadécimal dentiers à laide de la
    table de lappendice 4.1 du supplément
  • La table hexadécimal-décimal est basée sur le
    principe quun nombre comme 14A616 est la somme
    de
  • 100016 40016 A016 6.
  • On va donc chercher la valeur décimal
    correspondante de chacun dans la table et on en
    fait la somme
  • 409610 102410 16010 6 528610
  • Cette méthode peut être utilisée pour la
    conversion binaire-décimal par programmation et
    savère très rapide.

14
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Conversion hexadécimal-décimal et
    décimal-hexadécimal dentiers à laide de la
    table de lappendice 4.1 du supplément
  • On pourrait faire une table décimal-hexadécimal
    pour la conver-sion inverse. On peut également
    utiliser la même table que plus haut avec
    quelques calculs supplémentaires. On cherche dans
    la table la plus grande valeur décimale qui soit
    inférieure au nombre à convertir. On soustrait ce
    nombre, et on recommence avec le reste.
  • 528610 - 409610 119010 -gt 100016
  • 119010 - 102410 16610 -gt 40016
  • 16610 - 16010 610 -gt A016
  • 610 - 610 0 -gt 616
  • 14A616

15
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Conversion à partir lASCII
  • Exemple
  • Supposons que lutilisateur a tapé 327. On
    retrouve en mémoire les caractères ASCII 3, 2
    et 7 qui ont la représentation
  • 0011 0011 0011 0010 0011 0111
  • On soustrait 0011 0000 (3016 ou 0) de chacun de
    ces caractères, ce qui nous donne la
    représentation en BCD non compacté
  • 0000 0011 0000 0010 0000 0111
  • On utilisera ces octets pour faire la conversion
    BCD-binaire.

16
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.1 Entiers positifs ou nuls
  • Changements de base
  • Conversion vers lASCII
  • De la façon inverse, après quon a effectué une
    conversion binaire décimal, on a une série
    doctets qui constituent la représentation BCD
    non compacté du résultat. On na quà ajouter
    3016 à chacun pour obtenir la représentation
    ASCII du nombre. Par exemple
  • 0000 0011 0000 0010 0000 0111
  • 0011 0000 0011 0000 0011 0000
  • 0011 0011 0011 0010 0011 0111

3
2
7
17
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Changements de base
  • N ? anBn an-1Bn-1 a1B1 a0 B0 a-1B-1
    a-2B-2
  • En binaire, ai 0 ou 1 et B 2
  • N ? an2n an-12n-1 a1.2 a0 a-12-1
    a-22-2
  • Cette dernière formule peut donc servir de
    conversion binaire-décimal.
  • Exemple

18
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Changements de base
  • 0,562510
  • Réponse 0,100100002
  • Pour passer du décimal à une autre base, il
    suffit de multiplier par la base en question au
    lieu de 2.

19
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Changements de base
  • Pour un nombre constitué dune partie entière et
    dune partie fractionnaire, on convertit les deux
    parties séparément, la partie entière avec lune
    des méthodes de conversion des entiers, la partie
    fractionnaire avec les méthodes présentées dans
    la présente section.
  • Exemple convertir 123,214 en décimal
  • 1234 1 ? 42 2 ? 4 3 2710
  • 0,214 2 ? 4-1 1 ? 4-2 2 x 0,25 1 ? 0,0625
    0,562510
  • Réponse 27,562510

20
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Changements de base
  • Convertir 27,562510 en base 4
  • 27 / 4 6, reste 3
  • 6 / 4 1, reste 2
  • 1 / 4 0, reste 1 -gt 1234
  • 0, 5625 x 4
  • 2, 25 x 4
  • 1, 0 x 4
  • 0, 0
  • Réponse 123,2100004

21
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Conversion décimal-binaire et binaire décimal à
    laide de la table de lappendice 4.2 du
    supplément
  • Même principe que pour les entiers.

22
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule fixe
  • Inconvénients étendue de représentation limitée
  • 32 bits seulement dans la partie entière
  • 32 bits seulement dans la partie fractionnaire
  • Perte de précision pour les petits nombres
  • Complexité de traitement de la virgule lors
    dopé-rations telles que la multiplication et la
    division

Partie entière
Partie fractionnaire
,
32
32
23
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule fixe
  • Exemples 1,0 00000001,0000000016
  • -1,0 FFFFFFFF,0000000016
  • 0,5 00000000,8000000016
  • -0,5 FFFFFFFF,8000000016
  • Plus petit nombre positif 00000000,00000001 1
    / 4 294 967 296
  • Plus grand nombre positif
  • 7FFFFFFF,FFFFFFFF 2 147 483 647,999999999767
  • Plus grand nombre négatif
  • 80000000,00000000 -2 147 483 648,
    999999999767
  • Plus petit nombre négatif
  • FFFFFFFF,FFFFFFFF -1 / 4 294 967 296

24
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • N (1)s ? M ? BE
  • où M mantisse
  • B base
  • E exposant
  • s signe de la mantisse
  • Exemples
  • 10110 1,01 ? 102
  • - 510 - 1012 - 1,01 ? 22
  • 510 1012 516 0,0101 ? 161

25
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Norme IEEE 754 de simple précision
  • La mantisse M est normalisée sous la forme 1,f et
    lexposant est ajusté en conséquence. La partie f
    est codée sur 23 bits.
  • On ajoute 127 à E et le total est codé sur 8
    bits.
  • s est le signe de la mantisse.
  • N (-1)s ? 2E ? 1,f

E127
f
s
8
23
32
26
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Norme IEEE 754 de simple précision
  • Exemple
  • 100010 3E816 11111010002 1,111101000 ? 29
  • s 0 car nombre positif
  • E 9 donc E 127 136 100010002
  • M 1,111101000 donc f ,111101000
  • quon peut écrire 447A0000IEEE en groupant les
    bits 4 par 4 et en les codant en hexadécimal.

0 10001000 11110100000000000000000
27
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Norme IEEE 754 de simple précision
  • Exemple
  • Convertir le nombre de simple précision
    40500000IEEE en décimal.
  • s 0 donc signe
  • E 127 128, donc E 1
  • M 1,f 1,101
  • N 1,1012 ? 21 11,012 ? 20 3,2510

0 10000000 10100000000000000000000
28
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Norme IEEE 754 de simple précision
  • Exemples
  • 0 00000000IEEE -0 80000000IEEE
  • 1 3F800000IEEE -1 BF800000IEEE
  • 2 40000000IEEE -2 C0000000IEEE
  • ? 7F800000IEEE -? FF800000IEEE

29
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Norme IEEE 754 de double précision
  • La mantisse M est normalisée sous la forme 1,f et
    lexposant est ajusté en conséquence. La partie f
    est codée sur 52 bits.
  • On ajoute 1023 à E et le total est codé sur 11
    bits.
  • s est le signe de la mantisse.

E1023
f
s
11
52
64
30
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Étendue de représentation
  • En simple précision, la représentation des
    nombres normalisés positifs non nuls va de
    00800000IEEE à 7F7FFFFFIEEE, soit
  • 1,000000000 x 2-126 à 1,1111111111 x 2127
  • 9,4039548 ? 10-38 à 3,4028235 ? 1038.
  • En double précision, elle va de
    0010000000000000IEEE à 7FEFFFFFFFFFFFFFIEEE, soit
  • 1,0000000000... ? 2-1022 à 1,11111111111... ?
    21023
  • 2,22407385851 ? 10-308 à 1,797693134862316 ?
    10308

31
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Nombres dénormalisés
  • En simple précision, si lexposant E est -127
    (représentation 00000000) et que les bits de la
    mantisse ne sont pas tous nuls, le nombre
    représenté est
  • N (s)-1 x 2-126 ? 0,f
  • On peut ainsi, malgré une perte de précision,
    étendre la représen-tation jusquà 2-149, i.e.
    10-45.

32
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Les NaN
  • Les représentations commençant par 7F ou FF en
    simple préci-sion et dont les autres bits ne sont
    pas tous 0 représentent des NaN (Not a Number).
    Ces NaN sont utilisés pour signaler des messages
    derreur.

33
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Sources derreur
  • Erreur darrondi ou de troncature
  • Débordement de capacité
  • Sous-débordement de capacité
  • Division par 0
  • Opérations invalides ???, ??0, 0 / ?, 0 / 0,
    etc.

34
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Addition et soustraction
  • On doit
  • 1. Extraire les mantisses et les exposants
  • 2. Ajuster les exposants et les mantisses pour
    que les deux nombres aient lexposant du plus
    grand des deux.
  • 3. Effectuer laddition ou la soustraction des
    mantisses
  • 4. Normaliser la mantisse résultante sil y a
    lieu
  • 5. Replacer le résultat, mantisse et exposant,
    dans le format IEEE.

35
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Addition et soustraction
  • Exemple
  • 40400000IEEE 3F000000IEEE
  • 0 10000000 10000000000000000... 0 01111110
    00000000000000000...
  • 2128-127 ? 1,100000 2126-127 ? 1,000000...
  • 1,1 ? 21 1,0 ? 2-1 1,1 ? 21 0,01 ? 21
    1,11 ? 21
  • 0 10000000 11000000000000000000000
  • 40600000IEEE

36
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Multiplication et division
  • A a ? 2p et B b ? 2q, alors A ? B ab ?
    2pq
  • A / B (a/b) ? 2p-q
  • On doit
  • 1. Extraire les mantisses, les signes et les
    exposants
  • 2. Additionner ou soustraire les exposants
    suivant le cas
  • 2. Effectuer le produit ou le quotient des
    mantisses
  • 4. Normaliser la mantisse résultante sil y a
    lieu
  • 5. Ajuster le signe sil y a lieu
  • 6. Replacer le résultat, signe, mantisse et
    exposant, dans le format IEEE.

37
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.3 Nombres fractionnaires
  • Virgule flottante
  • Multiplication et division
  • Exemple
  • 40A00000 ? C0C00000
  • 0 10000001 01000000000000000... ? 1 10000001
    10000000000000000
  • 2129-127 ? 1,01 ? - 2129-127 ? 1,1
  • - 1,01 ? 22 ? 1,1 ? 22 - 1,1110 ? 24
  • 1 10000011 11100000000000000000000
  • C1F00000IEEE

38
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.4 Décimaux codés en binaire
  • Code BCD code pondéré 8-4-2-1 comme le binaire
    naturel
  • Code excédent-3 chiffre binaire 3
  • Code 2 dans 5 chiffre décimal codé sur 5 bits
    dont deux sont 1
  • Code biquinaire chiffre décimal codé sur 7
    bits, dont 1 dans les deux positions de gauche et
    1 dans les 5 positions de droite est 1.
  • Les deux derniers codes permettent la détection
    derreurs.

39
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • 3.3.4 Décimaux codés en binaire
  • décimal BCD excédent-3 2 dans 5 biquinaire
  • 0 0000 0011 00011 01 00001
  • 1 0001 0100 00101 01 00010
  • 2 0010 0101 00110 01 00100
  • 3 0011 0110 01001 01 01000
  • 4 0100 0111 01010 01 10000
  • 5 0101 1000 01100 10 00001
  • 6 0110 1001 10001 10 00010
  • 7 0111 1010 10010 10 00100
  • 8 1000 1011 10100 10 01000
  • 9 1001 1100 11000 10 10000

40
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • Conversion rapide des grands nombres décimaux en
    binaire
  • Nous utilisons l'algorithme de la division par la
    base destination en arithmétique de base 10, sauf
    que nous choisissons la base 65536 (216).
  • Exemple Convertir 36 000 000 000 en binaire
  • 1e étape
  • 36 000 000 000 / 65 536 549 316, reste 26 624
  • 549 316 / 65 536 8, reste 25 028
  • 8 / 65 536 0, reste 8
  • Donc
  • 36 000 000 000 8 x 655362 25028 x 655361
    26624

41
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • Conversion rapide des grands nombres décimaux en
    binaire
  • 2e étape
  • Comme 65 536 2562, on représente ensuite
    chacun des termes en base 256.
  • 25 028 / 256 97, reste 196
  • 26 624 / 256 104, reste 0
  • Donc
  • 36 000 000 000 8 x 2564 97 x 2563 196 x
    2562
  • 104 x 2561 0 x 2560

42
Unité 3 Représentation interne des informations
  • 3.3 Données numériques
  • Conversion rapide des grands nombres décimaux en
    binaire
  • 3e étape
  • Comme 256 162, on représente ensuite chacun
    des termes en base 16.
  • 97 / 16 6, reste 1 196 / 16 12, reste 4
  • 104 / 16 6, reste 8 0 / 16 0, reste 0
  • Donc
  • 36 000 000 000 8 x 168 6 x 167 1 x 166
    12 x 165
  • 4 x 164 6 x 163 8 x 162 0 x 161 0
    x 160
  • Et finalement 36 000 000 000 861C4680016
Write a Comment
User Comments (0)
About PowerShow.com