Tech Ordinateurs Reseaux

554

Click here to load reader

description

doc reso

Transcript of Tech Ordinateurs Reseaux

  • SCIENCES SUP

    Cours et exercices corrigs

    SCIENCES SUP

    8e dition

    TECHNOLOGIE DES ORDINATEURS

    ET DES RSEAUX8e dition

    Pierre-Alain Goupille

    P.-A. G

    OU

    PILLE

    TECH

    NO

    LOG

    IE D

    ES OR

    DIN

    ATEU

    RS

    ET DES R

    SEAU

    X

    Dj vendu plus de 25 000 exemplaires dans ses prcdentesditions, cette 8e dition prsente, dans un langage abordable tous, un inventaire complet des technologies employes dansles ordinateurs et leurs priphriques ainsi que danslarchitecture des rseaux locaux ou tendus.Il est construit en quatre parties : Les cinq premiers chapitres traitent de la manire dont sont

    reprsentes les informations dans un systme informatique(langage binaire, reprsentation des nombres et desdonnes...).

    Les chapitres 6 11 expliquent comment travaille la partie active de la machine (microprocesseurs, mmoire, bus...).

    Les chapitres 12 20 prsentent une assez large gamme decomposants et priphriques (disques, crans, imprimantes...).

    Les huit derniers chapitres traitent des diffrents types derseaux (rseaux locaux, VLAN, VPN, Internet).

    Cette nouvelle dition tient compte des dernires caractristiquestechniques des matriels rcemment arrivs sur le march.Ce livre rfrent est destin aux lves et aux enseignantsde BTS, DUT, MIAGE... qui suivent un enseignement technique,particulirement en informatique, mais galement en gestion.Il intressera galement tous ceux qui souhaitent comprendrecomment fonctionne un ordinateur ou lun de ses priphriques.

    CO

    UR

    S

    DUT BTS

    Pierre-Alain Goupille

    TECHNOLOGIE DES ORDINATEURS ET DES RSEAUX

    PIERRE-ALAIN GOUPILLE

    est professeurdinformatique en BTSinformatique de gestion Angers. Il est galementauteur du Guide pratique deScurit Informatique etauteur ou coauteur de diversouvrages traitant delanalyse en informatique oude bureautique (Word,Excel, OpenOffice).

    MATHMATIQUES

    PHYSIQUE

    CHIMIE

    SCIENCES DE LINGNIEUR

    INFORMATIQUE

    SCIENCES DE LA VIE

    SCIENCES DE LA TERRE

    1 2 3 4 5 6 7 8LICENCE MASTER DOCTORAT

    6661326ISBN 978-2-10-051770-1 www.dunod.com

  • TECHNOLOGIEDES ORDINATEURS

    ET DES RSEAUX

    p.I-IV Goupille Page I Mardi, 18. dcembre 2007 2:24 14

  • Guide pratique de scurit informatique

    Mise en uvre sous Windows et Linux Bruno Favre, Pierre-Alain Goupille264 p. Dunod, 2005

    p.I-IV Goupille Page II Mardi, 18. dcembre 2007 2:24 14

  • TECHNOLOGIEDES ORDINATEURS

    ET DES RSEAUX

    Cours et exercices corrigs

    Pierre-Alain Goupille

    Professeur dinformatique en BTSinformatique de gestion Angers

    8

    e

    dition

    p.I-IV Goupille Page III Mardi, 18. dcembre 2007 2:24 14

  • Dunod, Paris, 1996, 1998, 2000, 2004, 2008

    Masson, Paris, 1990, 1992, 1994

    p.I-IV Goupille Page IV Mardi, 18. dcembre 2007 2:24 14

    ISBN 978-2-10-053944-4

  • D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    Table des matires

    AVANT-PROPOS

    XI

    CHAPITRE 1

    INTRODUCTION LA TECHNOLOGIE DES ORDINATEURS

    11.1 Dfinition de linformatique 11.2 Premire approche du systme informatique 1

    CHAPITRE 2

    NUMRATION BINAIRE ET HEXADCIMALE

    52.1 Pourquoi une logique binaire ? 52.2 Le langage binaire (binaire pur) 72.3 Le langage hexadcimal 12

    CHAPITRE 3

    REPRSENTATION DES NOMBRES

    193.1 Notion de mot 193.2 Nombres en virgule fixe 203.3 Nombres en virgule flottante 25

    CHAPITRE 4

    REPRSENTATION DES DONNES

    314.1 Le code ASCII 314.2 Codes ISO 8859 344.3 Le code EBCDIC 374.4 Unicode 384.5 Code base64 utilis par le protocole MIME 42

    CHAPITRE 5

    PROTECTION CONTRE LES ERREURS, ENCODAGES ET CODES

    455.1 Le contrle de parit 455.2 Les codes autovrificateurs ou autocorrecteurs 465.3 tude de quelques encodages et codes courants 51

    0GOUPILLE_NE.book Page V Vendredi, 14. dcembre 2007 9:04 09

  • VI

    Technologie des ordinateurs et des rseaux

    CHAPITRE 6

    CONCEPTION DES CIRCUITS INTGRS

    596.1 Un peu dhistoire 596.2 Technique de conception des circuits intgrs 61

    CHAPITRE 7

    UNIT CENTRALE DE TRAITEMENT

    657.1 Approche des blocs fonctionnels 657.2 tude de lunit centrale de traitement 677.3 Fonctionnement de lunit centrale 73

    CHAPITRE 8

    MODES DADRESSAGE ET INTERRUPTIONS

    818.1 Les modes dadressage 818.2 Adressage du 8086 848.3 Interruptions 868.4 Application aux microprocesseurs Intel i86 88

    CHAPITRE 9

    LES BUS

    979.1 Gnralits 979.2 Bus ISA ou PC-AT 1009.3 Bus MCA 1009.4 Bus EISA 1009.5 Bus VESA Local Bus 1019.6 Bus PCI 1019.7 Bus PCI-X 1029.8 InfiniBand 1029.9 PCI Express 1039.10 HyperTransport 1049.11 Bus SCSI 1059.12 SAS SERIAL SCSI 1079.13 Bus FireWire IEEE 1394 1089.14 Bus USB 1109.15 Bus graphique AGP 1129.16 Fibre Channel 113

    CHAPITRE 10

    MICROPROCESSEURS

    11510.1 Le microprocesseur Intel 8086 11510.2 Notions dhorloge, pipeline, superscalaire 11910.3 Le rle des chipsets 12310.4 Les sockets, socles ou slots 12510.5 tude dtaille dun processeur : le Pentium Pro 12610.6 volution de la gamme Intel 13210.7 Les coprocesseurs 13610.8 Les microprocesseurs RISC 13610.9 Les autres constructeurs 13710.10 Le multiprocessing 13710.11 Mesure des performances 139

    0GOUPILLE_NE.book Page VI Vendredi, 14. dcembre 2007 9:04 09

  • Table des matires

    VII

    D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    CHAPITRE 11

    MMOIRES GNRALITS ET MMOIRE CENTRALE

    14311.1 Gnralits sur les mmoires 14311.2 Les mmoires vives 14711.3 Les mmoires mortes 15911.4 La mmoire Flash 161

    CHAPITRE 12

    BANDES ET CARTOUCHES MAGNTIQUES

    16512.1 La bande magntique 16512.2 Les cartouches magntiques 170

    CHAPITRE 13

    DISQUES DURS ET CONTRLEURS

    17513.1 Principes technologiques 17513.2 Les modes denregistrements 18013.3 Les formats denregistrements 18113.4 Capacits de stockage 18113.5 Principales caractristiques des disques 18413.6 Les contrleurs ou interfaces disques 18613.7 Disques durs externes, extractibles, amovibles 18913.8 Les technologies RAID 190

    CHAPITRE 14

    DISQUES OPTIQUES

    19514.1 Le disque optique numrique 195

    CHAPITRE 15

    DISQUETTES, DISQUES AMOVIBLES ET CARTES PCMCIA

    21115.1 Les disquettes 21115.2 Les disques amovibles 21615.3 La carte PCMCIA 217

    CHAPITRE 16

    SYSTMES DE GESTION DE FICHIERS

    21916.1 Prambules 22016.2 tude du systme FAT 22316.3 Partitions LINUX 23816.4 Le systme NTFS 239

    CHAPITRE 17

    GESTION DE LESPACE MMOIRE

    24917.1 Gnralits 24917.2 Gestion de la mmoire centrale 24917.3 Gestion mmoire sous MS-DOS 25417.4 Gestion mmoire avec Windows 9x, NT, 2000 257

    CHAPITRE 18

    IMPRIMANTES

    26118.1 Gnralits 26118.2 Les diverses technologies dimprimantes 26218.3 Interfaage des imprimantes 26918.4 Critres de choix 271

    0GOUPILLE_NE.book Page VII Vendredi, 14. dcembre 2007 9:04 09

  • VIII

    Technologie des ordinateurs et des rseaux

    CHAPITRE 19

    PRIPHRIQUES DAFFICHAGE

    27519.1 Les crans classiques 27519.2 Les crans plats 283

    CHAPITRE 20

    PRIPHRIQUES DE SAISIE

    29320.1 Les claviers 29320.2 Les souris 29820.3 Les tablettes graphiques 30120.4 Les scanners 301

    CHAPITRE 21

    TLINFORMATIQUE THORIE DES TRANSMISSIONS

    30721.1 Les principes de transmission des informations 30721.2 Les diffrentes mthodes de transmission 31221.3 Les modes de transmission des signaux 31721.4 Les techniques de multiplexage 31921.5 Les diffrents types de relations 320

    CHAPITRE 22

    TLINFORMATIQUE STRUCTURES DES RSEAUX

    32522.1 Les configurations de rseaux 32522.2 Techniques de commutation 32922.3 lments constitutifs des rseaux 33122.4 Les modles architecturaux (OSI, DOD) 357

    CHAPITRE 23

    PROCDURES ET PROTOCOLES

    36723.1 Procdures 36723.2 Protocoles 368

    CHAPITRE 24

    PROTOCOLE TCP/IP

    39124.1 Pile de protocoles TCP/IP 39124.2 IPSec 418

    CHAPITRE 25

    RSEAUX LOCAUX GNRALITS ET STANDARDS

    42325.1 Terminologie 42325.2 Modes de transmission et modes daccs 42525.3 Ethernet 42725.4 Token-Ring 439

    CHAPITRE 26

    INTERCONNEXION DE POSTES ET DE RSEAUX VLAN & VPN

    44126.1 Introduction 44126.2 Les fonctions de linterconnexion 44326.3 Les dispositifs dinterconnexion 44426.4 Les VLAN 46226.5 Rseaux Privs Virtuels VPN 46526.6 MPLS

    Multi Protocol Label Switching

    47026.7 Administration de rseaux 471

    0GOUPILLE_NE.book Page VIII Vendredi, 14. dcembre 2007 9:04 09

  • Table des matires

    IX

    D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    CHAPITRE 27

    NAS OU SAN STOCKAGE EN RSEAU OU RSEAU DE STOCKAGE

    48127.1 Gnralits 481

    CHAPITRE 28

    LOFFRE RSEAUX TENDUS EN FRANCE

    49128.1 LOffre France Tlcom Orange Business 49128.2 Oprateurs alternatifs 50428.3 Rseaux radio, transmission sans fil 50728.4 Internet 508

    CHAPITRE 29

    CONCEPTION DE RSEAUX TENDUS

    51129.1 Principes de conception de rseau 51229.2 Cas exemple 512

    ANNEXE A

    TARIFS SUCCINCTS DES RSEAUX LONGUE DISTANCE EN FRANCE

    525A.1 Rseau tlphonique commut 525A.2 Liaisons spcialises analogiques 526A.3 Numris 527A.4 Olane VPN 528A.5 Transfix 529A.6 Transfix 2.0 529

    BIBLIOGRAPHIE ET WEBOGRAPHIE

    531

    INDEX

    533

    0GOUPILLE_NE.book Page IX Vendredi, 14. dcembre 2007 9:04 09

  • 0GOUPILLE_NE.book Page X Vendredi, 14. dcembre 2007 9:04 09

  • D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    Avant-propos

    Ce livre, directement inspir de cours dispenss depuis plus de 20 ans en BTS Infor-matique de Gestion, est maintenant devenu une rfrence avec plus de 25 000 exem-plaires vendus. Cette huitime dition actualise dans la mesure du possible, lesdonnes techniques des matriels dcrits et prend en compte lvolution des techno-logies. La plupart des chapitres ont t complts ou remanis afin damliorer ladmarche pdagogique ou pour tenir compte de lvolution fulgurante des technolo-gies.

    Louvrage est conu autour de quatre grands ples : les chapitres 1 5 traitent de la manire dont sont reprsentes les informations

    dans un systme informatique ; les chapitres 6 11 prsentent la manire dont travaille la partie proprement

    active de la machine (unit centrale, mmoire) ; les chapitres 12 20 prsentent une assez large gamme des composants et pri-

    phriques rattachs au systme (disques, imprimantes, crans) ; enfin, les chapitres 21 29 traitent des rseaux locaux ou de transport.

    Dans la plupart des cas, le chapitre est suivi dexercices corrigs de manire vrifier si les notions abordes sont bien acquises. Nhsitez pas consulter dautresouvrages ou les trs nombreux sites Internet (en recoupant toutefois les informationscar certains sites offrent des informations parfois farfelues quand elles ne sontpas carrment fausses). Si vous avez des doutes ou des questions non rsolues,noubliez jamais que le professeur est l pour vous aider rpondre vos interroga-tions.

    Linformatique tant une matire en perptuelle et trs rapide volution, il se peutque des donnes techniques, jour lors de la rdaction de ce livre, soient dj dpas-

    0GOUPILLE_NE.book Page XI Vendredi, 14. dcembre 2007 9:04 09

  • XII

    Avant-propos

    ses lors de son impression et/ou de sa lecture. Il est galement possible que denouvelles technologies aient vu le jour ou que dautres aient disparues. Cest pour-quoi les valeurs fournies sont essentiellement indicatives et peuvent bienentendu varier selon les constructeurs, les volutions technologiques ou diversautres critres danalyse Rien de tel que la lecture de revues, ou la consultationdes sites Internet, pour rester inform !

    Ce livre pourra tre utilis avec profit par les lves et les professeurs des classesde terminales, de BTS ou dIUT des sections Informatique ou Comptabilit, enlicence dInformatique, en MIAGE pour assurer ou complter leurs cours et,dune manire plus gnrale, par tous ceux qui sont curieux de comprendre comment a marche .

    Merci tous ceux qui mont aid corriger et complter cette dition et bonnelecture tous.

    0GOUPILLE_NE.book Page XII Vendredi, 14. dcembre 2007 9:04 09

  • D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    C

    hapitre

    1

    Introduction la technologiedes ordinateurs

    1.1 DFINITION DE LINFORMATIQUE

    Linformatique est la Science du traitement rationnel et automatique delinformation ; lensemble des applications de cette science . Les mots employsdans cette dfinition de linformatique par lAcadmie franaise ne sont pasanodins.

    Tout dabord, linformatique est une

    science

    , cest--dire quelle obit desrgles et des lois prcises, et les traitements quelle ralise se font de manire ration-nelle.

    Le traiement automatique

    mentionn par la dfinition fait rfrence aux

    ordinateurs

    dont nous tudierons la technologie dans les chapitres suivants.

    Linformation

    est la matire traite par les ordinateurs. Ils doivent donc tre capa-bles de la comprendre , tout comme lhomme comprend une langue et desconcepts.

    1.2 PREMIRE APPROCHE DU SYSTME INFORMATIQUE

    Commenons par prsenter rapide-ment ce quest un ordinateur ettablissons un parallle avec la faondont travaille, par exemple, unemploy de bureau. Pour travailler,lemploy qui est au centre des trai-

    Entres Systme de Traitement Sorties

    0GOUPILLE_NE.book Page 1 Vendredi, 14. dcembre 2007 9:04 09

  • 2 1

    Introduction la technologie des ordinateurs

    tements, et que lon peut donc considrer comme

    lunit centrale de traitement

    sinstalle son bureau o on lui remet dans un dossier le travail faire (

    informa-tions en entre

    ), tandis que dans un autre dossier il devra mettre le travail fait(

    informations en sortie

    ).Nous avons l un

    systme de traitement

    qui reoit des informations en entre,excute un traitement sur ces informations et restitue des informations en sortie.

    Pour excuter son travail, lemploy peut avoir besoin de raliser des calculs(oprations mathmatiques, additions, comparaisons), il dispose pour cela dunecalculatrice (ou

    unit de calcul

    ). Pour ne pas oublier ce quon lui demande, il vanoter sur un brouillon les instructions quil a reues et qui constituent son

    programme

    de travail ; de mme il va certainement tre amen noter quelquesinformations sur les donnes quil va traiter.

    Il mmorise donc des

    instruc-tions

    excuter et des

    donnes

    traiter. Ces informations peuventtre actualises et on peut ainsiconsidrer que lon se trouve enprsence dune mmoire qui vit (o linformation nat, vit etmeurt). On parle alors de

    mmoirevive

    .

    De plus, il se peut que pourraliser la tche demande, lemploy ait besoin dinformations qui soient toujoursles mmes (le taux de TVA par exemple) et quil mmorisera une fois pour toutes. Ilsagit l dune mmoire qui ne vit pas et lon parle alors de

    mmoire morte

    .

    Certaines informations (tellesque le catalogue des prix, lesadresses des clients) sont tropvolumineuses pour tre mmo-rises de tte , et lemployaura alors sa disposition desclasseurs contenant des

    fichiers

    clients, tarifs qui constituentune

    mmorisation

    externe ou

    auxiliaire

    de certaines donnes.Dans un ordinateur nous retrouve-rons galement tous ces consti-tuants.

    Lordinateur se prsente le plus souvent dans la vie courante sous laspect dumicro-ordinateur. Faisons preuve de curiosit et levons le capot ! . Nous pouvonsdores et dj distinguer un certain nombre dlments. Le plus volumineux estsouvent le bloc dalimentation lectrique, accompagn dun ventilateur de refroidis-sement.

    Entres Sorties

    Commandes

    unit decalculs

    mmoire viveinstructions

    donnes

    Entres Sorties

    Commandes

    unit decalculs

    mmoire viveinstructions

    donnes

    mmoiremorte

    Mmoireauxiliaire(fichiers)

    0GOUPILLE_NE.book Page 2 Vendredi, 14. dcembre 2007 9:04 09

  • Exercices 3

    D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    Partant de ce bloc, un certain nombre de fils lectriques alimentent les diverscomposants parmi lesquels on distingue un certain nombre de

    cartes

    ou

    contr-leurs

    , recouvertes de puces lectroniques et enfiches sur une carte plus grande, dite

    carte mre

    situe au fond de la machine.Cette carte mre supporte lunit de traitement, plus communment dsigne sous

    le terme de

    microprocesseur

    ou

    puce

    . On utilise parfois le terme de fonds depanier , pour dsigner la srie de connecteurs permettant denficher les diversescartes. La carte mre prsente divers connecteurs de formes et de couleurs diff-rents. Lun deux porte sous forme de barrette(s) la mmoire centrale de lordinateur(

    mmoire vive

    ).Certaines cartes (contrleurs) disposent de nappes de cbles qui renvoient vers

    des modules permettant de loger de manire interne un certain nombre dunits destockage (

    mmoire auxiliaire

    ) : lecteurs de disquettes, disque dur, streamer, CD-ROM Il est galement possible de rencontrer ces divers modules lextrieur dubotier principal et vous pouvez dj constater que lon relie ce botier lcran devisualisation (ou moniteur vido) ainsi que le clavier, qui permet dentrer les infor-mations ncessaires au traitement, ou encore la souris.

    Dans les chapitres de cet ouvrage nous tudierons, plus prcisment, ce querecouvrent tous ces termes, la manire dont sont constitus techniquement les ordi-nateurs et quels sont les divers priphriques qui leur sont associs (imprimantes,crans), mais il convient tout dabord dobserver sous quelle forme doivent seprsenter les informations dans la machine afin quelles puissent tre assimiles parle systme informatique.

    EXERCICES

    1.1

    Reconstituez, sans vous aider du livre, le schma synoptique dun systmeinformatique simplifi tel que nous lavons prsent prcdemment.

    1.2

    Nommez les divers composants ci-aprs.

    z

    0GOUPILLE_NE.book Page 3 Vendredi, 14. dcembre 2007 9:04 09

  • 4 1

    Introduction la technologie des ordinateurs

    0GOUPILLE_NE.book Page 4 Vendredi, 14. dcembre 2007 9:04 09

  • D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    C

    hapitre

    2

    Numration binaireet hexadcimale

    2.1 POURQUOI UNE LOGIQUE BINAIRE ?

    Le passage dune information, dun langage comprhensible par lhomme unlangage comprhensible par le systme informatique, sappelle

    codage

    ou

    codifica-tion

    . Nous verrons quil existe de nombreuses possibilits de codage de linforma-tion, en BINAIRE, en HEXADCIMAL, en BCD, en ASCII Mais tudionsdabord les lments de base du langage binaire qui est le fondement mme de lalogique informatique telle quelle existe lheure actuelle. Il est en effet possibleque dici quelques dcennies la logique binaire soit remplace par une logique multi-tats bien que la logique binaire ait encore de beaux jours devant elle.

    Les systmes informatiques actuels tant construits laide de circuits intgrs composants lectroniques qui rassemblent pour certains des dizaines voire descentaines de millions de transistors, ne fonctionnent actuellement que selon une

    logique deux tats

    telle que, de faon schmatique, le courant passe ou ne passepas dans le transistor. Ces deux tats logiques, conventionnellement nots

    0

    et

    1

    ,

    dterminent cette logique

    binaire

    correspondant (de manire un peu rductrice ) deux niveaux lectriques.

    Toute information traiter devra donc tre reprsente sous une forme assimi-lable par la machine, cest--dire sous une forme

    binaire

    , que ce soit en interne dansla machine, ainsi que nous venons de le signaler, mais galement sur les fils permettant de faire circuler linformation entre les composants de lordinateur.

    Ds lors quils empruntent des voies filaires, les signaux binaires imposent classi-quement lusage de deux fils (lun vhiculant le signal et lautre servant de masse).

    0GOUPILLE_NE.book Page 5 Vendredi, 14. dcembre 2007 9:04 09

  • 6 2

    Numration binaire et hexadcimale

    Figure 2.1 tats binaires

    Figure 2.2 Transmission classique

    Cette technique, dite NRZ (No Return to Zero) ou bus asymtrique SE (SingleEnded), bien que toujours trs utilise, prsente cependant des inconvnients lisaux phnomnes lectromagntiques qui font que les signaux saffaiblissent rapide-ment et deviennent illisibles, notamment lors de la transmission de composantescontinues telles que de longues suites de 0 ou de 1. La mthode NRZ est donc peu peu remplace par une autre technique dite mode diffrentiel, bus diffrentiel ousymtrique LVD (Low Voltage Differential), o chaque fil de la paire vhicule lesignal et son inverse.

    Figure 2.3 Transmission symtrique

    Interrupteur ouvert

    Transistor bloqu.Le courant ne passe pas

    tat logique : 0

    Transistor satur.Le courant passetat logique : 1

    Interrupteur ferm

    SignalMasse (0v)

    tension

    +v

    0v

    1 0 1 1 0 0 1

    Signal Signal +

    tension

    +v

    0v

    1 0 1 1 0 0 1tension

    +v

    0v

    0 1 0 0 1 1 0

    Signal

    Signal +

    0GOUPILLE_NE.book Page 6 Vendredi, 14. dcembre 2007 9:04 09

  • 2.2 Le langage binaire (binaire pur) 7

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    2.2 LE LANGAGE BINAIRE (BINAIRE PUR)

    En langage binaire, ou plus simplement en binaire , on dispose dun alphabetdont les symboles sont le 0 et le 1 qui, combins, doivent permettre de dfinir touteinformation traiter. La base de numration employe est ici de 2 (car on utilise 2symboles) et les calculs se font alors en base 2. Un nombre en base 2 est convention-nellement not n2.

    On notera ainsi 1012Un nombre en base 10, tel que nous lemployons dhabitude, devrait donc tre

    not sous la forme n10, par exemple, 13510, mais gnralement une telle notation estomise. Il convient cependant dy prter attention dans certains cas (cest ainsi que1012 et 10110 ne correspondent pas du tout la mme valeur dans une basecommune). Le binaire pur est distinguer dune autre forme de numration binairedite binaire rflchi qui consiste faire progresser les valeurs binaires en ne faisantvarier quun seul bit dune valeur binaire la valeur binaire suivante. Toutefois cettetechnique, employe en automatisme, ne nous concerne pas.

    2.2.1 Conversions

    Afin de simplifier la dmarche dapprentissage, nous ne traiterons dans un premiertemps que le cas des nombres entiers positifs.

    On passe dun nombre en base 10 un nombre en base 2 par divisions succes-sives.

    Soit 13510 convertir en base 2.

    Les flches indiquent le sens de lecture. Le nombre 13510 quivaudra ainsi 100001112 en binaire pur. Chaque lment binaire, pouvant prendre une valeur 0ou 1, est appel un digit binaire ou, plus couramment bit (abrviation delanglais binary digit). Une suite de quatre bits prendra le nom de quartet (ounibble), une suite de huit bits le nom doctet. Attention : en anglais octet setraduit par byte et il faut absolument viter la confusion entre bit et byte !

    Figure 2.4 Un octet

    Le passage dun nombre en base 2 un nombre en base 10 peut se faire par multi-plications successives.

    135 / 2 = 67 reste 1 67 / 2 = 33 reste 1 33 / 2 = 16 reste 1 16 / 2 = 8 reste 0

    8 / 2 = 4 reste 0 4 / 2 = 2 reste 0 2 / 2 = 1 reste 0 1 / 2 = 0 reste 1

    0 1 1 0 0 0 0 1

    0GOUPILLE_NE.book Page 7 Vendredi, 14. dcembre 2007 9:04 09

  • 8 2 Numration binaire et hexadcimale

    Il suffit en effet de multiplier chaque lment du nombre binaire (ou bit) par lechiffre 2 lev une puissance, croissant par pas de 1, compte partir de zro enpartant de la droite, puis deffectuer la somme des rsultats obtenus.

    Soit 100112 convertir en dcimal.

    On constate, lexamen de cette mthode, que lon multiplie chacun des bitsexamins, par les valeurs successives (en partant de la droite du nombre binaire)1, 2, 4, 8, 16, 32, 64, 128 qui sont en fait dtermines par le poids binaire du digit.

    On peut alors en dduire une autre technique de conversion des nombres dci-maux en binaire, qui consiste retrancher du nombre initial la plus grande puissancede 2 possible, et ainsi de suite dans lordre dcroissant des puissances. Si on peutretirer la puissance de 2 concerne on note 1 sinon on note 0 et on continue de lasorte jusqu la plus petite puissance de 2 possible soit 20 pour des entiers.

    Reprenons le cas de notre premier nombre 13510

    Attention : on lit les valeurs binaires, de haut en bas ! Mais le rsultat est encore(bien entendu !) 100001112.Une variante rapide et pratique en termes de calcul mental utiliser un jour

    dexamen par exemple consiste procder mentalement par addition successivedes puissances de 2 dcroissantes trouves et noter 1 si la somme est infrieure ougale au rsultat recherch et 0 dans le cas contraire.

    Ainsi, en reprenant notre valeur 135, la plus grande puissance de 2 que lon peutretenir est 128 (27) on note donc 1. Si on y ajoute la puissance de 2 suivante soit 64(26) le total va donner 192 donc trop grand on note 0 (pour linstant nous avonsnot 1 et 0). La puissance de 2 suivante est 32 soit 128 + 32 = 160 donc tropgrand on note 0 (soit 100), la puissance de 2 suivante est 16 soit 128 + 16 = 144donc trop grand , on note 0 (soit 1000). La puissance de 2 suivante est 8 soit128 + 8 = 136 donc trop grand . On note encore 0 (soit 10000). La puissance de 2suivante est 4 soit 128 + 4 = 132 donc a loge . On note 1 (soit 100001). La puis-sance de 2 suivante est 2 soit 132 + 2 = 134 donc a loge et on note encore 1(soit 1000011). Enfin la puissance de 2 suivante est 1 soit 134 + 1 = 135 donc a

    1 0 0 1 1 24 23 22 21 20

    (16) (8) (4) (2) (1)= = = = =

    16 0 0 2 1 dont la somme donne 1910

    de 135 on peut (1) retirer 128 reste 77 on ne peut pas (0) retirer 64 reste 77 on ne peut pas (0) retirer 32 reste 77 on ne peut pas (0) retirer 16 reste 77 on ne peut pas (0) retirer 8 reste 77 on peut (1) retirer 4 reste 33 on peut (1) retirer 2 reste 11 on peut (1) retirer 1 reste 0

    0GOUPILLE_NE.book Page 8 Vendredi, 14. dcembre 2007 9:04 09

  • 2.2 Le langage binaire (binaire pur) 9

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    loge on note alors 1 ce qui donne pour lensemble 100001112 ce qui correspondbien ce que nous devions trouver !

    Cette technique impose de connatre les valeurs dcimales associes aux puis-sances de 2 ! Mais qui ne sest pas amus ce petit jeu 1, 2, 4, 8, 16, 32, 64,128, 256, 512, 1024, 2048 ou lenvers 2048, 1024, 512, 256, 128

    TABLEAU 2.1 LES 10 PREMIERS NOMBRES BINAIRES

    a) Notion de poids binaire

    Le poids binaire ou poids du bit correspond la puissance laquelle est lev lebit lors de la conversion binaire-dcimal. Ainsi, les bits situs droite du nombresont les bits de poids faible car leur puissance volue partir de la valeur 0 (20) pouraller vers 21, 22, etc. Les bits situs gauche du nombre sont les bits de poids fortcar leur puissance est la plus leve et va en dcroissant pour se rapprocher des bitsde poids faible. Ainsi, sur un octet, le bit situ le plus gauche est le bit de poids fort(27) le plus significatif ou MSB (Most Significant Bit) alors que le bit situ le plus droite est le bit de poids faible (20) ou LSB (Less Significant Bit). partir de quandles poids forts deviennent-ils des poids faibles et inversement Tout est affaire derelativit !

    2.2.2 Oprations binaires

    Les oprations sur les nombres binaires seffectuent de la mme faon que sur lesnombres dcimaux. Toutefois, il ne faut pas oublier que les seuls symboles utilisssont le 1 et le 0, nous aurons ainsi les oprations fondamentales suivantes.

    a) Addition

    b) Soustraction

    Base 10 Base 2 Base 10 Base 2

    1 1 6 110

    2 10 7 111

    3 11 8 1000

    4 100 9 1001

    5 101 10 1010

    0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0 et on retient 1 ou encore 1

    + 1retenue 1 0

    0 0 = 00 1 = 1 et on retient 1 OU ENCORE 0

    1RETENUE 1 1

    1 1 = 01 0 = 1

    0GOUPILLE_NE.book Page 9 Vendredi, 14. dcembre 2007 9:04 09

  • 10 2 Numration binaire et hexadcimale

    c) Multiplication

    Les multiplications binaires seffectuent selon le principe des multiplications dci-males. On multiplie donc le multiplicande par chacun des bits du multiplicateur. Ondcale les rsultats intermdiaires obtenus et on effectue ensuite laddition de cesrsultats partiels.

    d) Division

    Nous avons vu que la multiplication tait base sur une succession dadditions.Inversement la division va tre base sur une succession de soustractions etsemploie de la mme faon quune division dcimale ordinaire.

    Soit 1 1 0 0 2 diviser par 1 0 0 2

    Le rsultat qui se lit en descendant est donc 1 12.

    Soit 1 0 1 1 0 02 diviser par 1 0 02

    Le rsultat qui se lit en descendant est donc 1 0 1 12.

    1 0 0 0 1 0 1 1 1 0 1 0 1 1 1

    0 0 0 0 1 0 1 11 0 0 0 1 0 1 1

    0 0 0 0 1 0 1 11 0 0 0 Somme intermdiaire 1 1 0 0 01 0 1 0 0 0 0 Retenues gnres par laddition de la sommeintermdiaire et de la retenue prcdentes 1 1

    Retenues gnres par laddition qui aboutit la somme intermdiaire 1 1 1

    1 0 0 1 1 0 1

    1 1 0 0 1 0 0 1 0 0 1

    0 1 0 0 1 0 0 1

    0 0 0

    1 0 1 1 0 0 1 0 0 1 0 0 1

    0 11 1 01 1 0

    1 0 0 11 01 0 0

    1 0 0 10

    0GOUPILLE_NE.book Page 10 Vendredi, 14. dcembre 2007 9:04 09

  • 2.2 Le langage binaire (binaire pur) 11

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    2.2.3 Cas des nombres fractionnaires

    Les nombres utiliss jusqu prsent taient des entiers positifs ou ngatifs. Bien sril est galement possible de rencontrer des nombres fractionnaires quil conviendrade pouvoir galement coder en binaire.

    Nous avons vu prcdemment que la partie entire dun nombre se traduisait enmettant en uvre des puissances positives de 2. Sa partie dcimale se traduira doncen fait en mettant en uvre des puissances ngatives de 2. Le nombre binaireobtenu se prsente sous la forme dune partie entire situe gauche de la marquedcimale, et dune partie fractionnaire situe droite.

    La conversion binaire/dcimal ci-dessus se fait donc de manire aise, il en est demme pour la conversion dcimal/binaire. Nous ne reviendrons pas sur la conver-sion de la partie entire qui se fait par divisions successives par 2 telle que nouslavons tudie au dbut de ce chapitre.

    En ce qui concerne la partie fractionnaire, il suffit de la multiplier par 2, la partieentire ainsi obtenue reprsentant le poids binaire (limit ici aux seules valeurs 1 ou0). La partie fractionnaire restante est nouveau multiplie par 2 et ainsi de suitejusqu ce quil ny ait plus de partie fractionnaire ou que la prcision obtenue soitjuge suffisante.

    Soit 0 . 6 2 510

    Quand il ne reste plus de partie fractionnaire, on sarrte.Ainsi 0.62510 devra se traduire par .1012. titre utilitaire, vous trouverez (tableau 2.2) un tableau de base des diverses puis-

    sances de 2 positives ou ngatives.

    Ainsi 1 0 0 . 0 1 2 sera quivalent (1 22) + (0 21) + (0 20) . (0 21) + (1 2 2)(1 4) + (0 2) + (0 1) . (0 1/2) + (1 1/4) soit 4.2510

    0.625 2 = 1.250 Poids binaire 1 210.250 2 = 0.500 Poids binaire 0 220.500 2 = 1.000 Poids binaire 1 23

    TABLEAU 2.2 LES 10 PREMIRES PUISSANCES DE 2 (POSITIVES ET NGATIVES)

    2n n 2n

    10.5

    0.250.125

    0.06250.03125

    0.0156250.0078125

    0.003906250.001953125

    0.0009765625

    012345678910

    12481632641282565121024

    0GOUPILLE_NE.book Page 11 Vendredi, 14. dcembre 2007 9:04 09

  • 12 2 Numration binaire et hexadcimale

    Cette utilisation particulire de la numration binaire des fractionnaires neprsente peu prs quun intrt dcole (quoique dans certains cas cela puisseservir). Dans la majorit des cas, linformaticien sera amen manipuler les conver-sions dcimal-binaire ou binaire-dcimal ainsi que les additions et soustractions ; lesautres oprations tant dun usage relativement moins courant.

    2.3 LE LANGAGE HEXADCIMAL

    Le langage binaire sil est comprhensible par la machine (et peut donc tre appel ce niveau langage machine) est difficilement assimilable par lhomme ds lorsquon manipule de grandes sries binaires. On utilise donc un autre systme de nota-tion, le systme hexadcimal base 16, que nous tudierons ici. Prcisons quunsystme octal (base 8) a galement t utilis mais est tomb en dsutude. En nota-tion hexadcimale on utilise un alphabet comportant 16 symboles. Les chiffres nepouvant reprsenter que 10 symboles (0 9 inclus), on doit alors utiliser 6 symbolessupplmentaires pour complter notre alphabet. Les symboles retenus ont donc tles 6 premires lettres de lalphabet.

    Figure 2.5 Alphabet hexadcimal

    2.3.1 Conversions

    Il est possible de passer dun nombre en base 10 un nombre en base 16 par divi-sions successives. On note les restes de ces divisions quon lit ensuite en remontant .

    Convertir en base 16 le nombre 72810

    Les nombres suprieurs 9 nexistent pas, en tant que tels, dans la notation hexa-dcimale o ils doivent tre remplacs par des lettres. Ainsi notre 13 devra-t-il tre remplac par la lettre D qui est son quivalent hexadcimal.

    Figure 2.6 Les symboles hexadcimaux

    Nous pouvons donc enfin crire le rsultat sous sa forme dfinitive :72810 = 2D816En informatique, on notera plus souvent la base 16 par la prsence dun 0x

    (comme heXadcimal) devant le nombre.

    0 1 2 3 4 5 6 7 8 9 A B C D E F

    72810 : 16 = 45 Reste 8 4510 : 16 = 2 Reste 13

    210 : 16 = 0 Reste 2

    Nombre dcimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15quivalent hexadcimal 0 1 2 3 4 5 6 7 8 9 A B C D E F

    0GOUPILLE_NE.book Page 12 Vendredi, 14. dcembre 2007 9:04 09

  • 2.3 Le langage hexadcimal 13

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    Ainsi : 0x2D8.Inversement il est ais de passer dun nombre en notation hexadcimale un

    nombre dcimal par multiplications successives, en suivant les principes noncsdans la conversion binaire. Cependant il ne sagit plus, cette fois, de puissances de 2mais de puissances de 16 puisquen hexadcimal la base est 16.

    Soit 0x 1 3 D convertir en base 10

    2.3.2 Passage direct binaire/hexadcimal

    Si lon reprsente les 16 symboles de lalphabet hexadcimal en binaire on constateque lon utilise pour chacun deux un maximum de 4 bits.

    On peut donc directement et facilement passer du binaire lhexadcimal endcomposant le nombre binaire en blocs de 4 bits en partant de la droite (bits dits de poids faible ) et en restituant sa valeur hexadcimale chacun de ces blocs.

    Ainsi 73210 donne en binaire 10110111002On dcompose ce nombre binaire en blocs de 4 bits, partir de la droite, soit :

    Le passage de lhexadcimal en binaire peut donc se faire de la manire inverse,cest--dire en convertissant les chiffres qui composent le nombre hexadcimal enleur quivalent binaire.

    Ainsi : 1AB16

    1 162 + 3 161 + 13 1601 256 + 3 16 + 13 1

    256 + 48 + 13 = 317

    0 0 5 101 10 A 1010

    1 1 6 110 11 B 1011

    2 10 7 111 12 C 1100

    3 11 8 1000 13 D 1101

    4 100 9 1001 14 E 1110

    15 F 1111

    0 0 1 0 1 1 0 1 1 1 0 0

    Soit en dcimal 2 13 12Soit en hexadcimal 2 D C

    1 A B donne en binaire0 0 0 1 1 0 1 0 1 0 1 1

    0GOUPILLE_NE.book Page 13 Vendredi, 14. dcembre 2007 9:04 09

  • 14 2 Numration binaire et hexadcimale

    2.3.3 Reprsentation des valeurs hexadcimales

    La reprsentation des valeurs sous un format hexadcimal ne se traduit pas visuelle-ment par la prsence de lindice (16) derrire la valeur. On utilise parfois la lettre Hou plus gnralement dans les reprsentations issues des ordinateurs, on faitprcder cette valeur des deux symboles 0x.

    Ainsi, 2A0316 2A03H ou 0x2A03 sont des reprsentations valides dune mmevaleur hexadcimale. On rencontrera le plus souvent la forme 0x2A03

    EXERCICES

    2.1 Convertir en binaire les nombres 39710, 13310 et 11010 puis en dcimal lesnombres 1012, 01012 et 11011102 et vrifier en convertissant pour revenir la basedorigine.

    2.2 Effectuer les oprations suivantes et vrifier les rsultats en procdant auxconversions ncessaires.

    a) 1 1 0 0 + 1 0 0 0 =b) 1 0 0 1 + 1 0 1 1 =c) 1 1 0 0 1 0 0 0 =d) 1 0 0 0 1 0 1 =e) 1 + 1 + 1 + 1 =

    2.3 Raliser les oprations suivantes et vrifier les rsultats en procdant auxconversions ncessaires.

    a) 1 0 1 1 1 1 =b) 1 1 0 0 1 0 1 =c) 1 0 0 1 1 1 0 1 1 0 =

    2.4 Raliser les oprations suivantes et vrifier les rsultats en procdant auxconversions ncessaires.

    a) 1 0 0 1 0 0 / 1 1 =b) 1 1 0 0 0 0 / 1 1 0 =

    2.5 Convertir en binaire 127.7510 puis 307.1810 Vous pourrez constater, la rali-sation de ce dernier exercice, que la conversion du .18 peut vous entraner assezloin . Cest tout le problme de ce type de conversion et la longueur accorde lapartie fractionnaire dpendra de la prcision souhaite.

    0GOUPILLE_NE.book Page 14 Vendredi, 14. dcembre 2007 9:04 09

  • Solutions 15

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    2.6 Convertir en hexadcimal a) 316710 b) 21910 c) 656010

    2.7 Convertir en dcimal a) 0x3AE b) 0xFFF c) 0x6AF

    2.8 Convertir en base 16 a) 12810 b) 10110 c) 25610d) 1102 e) 10010112

    2.9 Convertir en base 10 a) 0xC20 b) 0xA2E

    2.10 Convertir en base 2 a) 0xF0A b) 0xC01

    SOLUTIONS

    2.1 a) Convertir en binaire le nombre 39710

    Le rsultat se lit en remontant et nous donne donc 1100011012.Vrification :

    b) Convertir en binaire le nombre 13310 = 100001012c) Convertir en binaire le nombre 11010 = 11011102d) Convertir en dcimal le nombre 1012 = 1 22 + 0 21 + 1 20soit 1 4 + 0 2 + 1 1 = 510e) Convertir en dcimal le nombre 01012 = 510. Un zro devant un nombre nest passignificatif, que ce soit en dcimal ou en binaire.f) Convertir en dcimal le nombre 11011102 = 11010

    397 : 2 = 198 reste 1198 : 2 = 99 reste 0 99 : 2 = 49 reste 1 49 : 2 = 24 reste 1 24 : 2 = 12 reste 0 12 : 2 = 6 reste 0 6 : 2 = 3 reste 0 3 : 2 = 1 reste 1 1 : 2 = 0 reste 1

    1 1 0 0 0 1 1 0 12 28 27 26 25 24 23 22 21 20

    (256) (128) (64) (32) (16) (8) (4) (2) (1)= = = = = = = = =

    256 128 8 4 1 soit 39710

    0GOUPILLE_NE.book Page 15 Vendredi, 14. dcembre 2007 9:04 09

  • 16 2 Numration binaire et hexadcimale

    2.2 Effectuer les oprations.a) addition de 1 1 0 0 + 1 0 0 0b) 1 0 0 1 + 1 0 1 1 = 1 0 1 0 0c) soustraction de 1 1 0 0 1 0 0 0

    d) 1 0 0 0 1 0 1

    e) 1 + 1 + 1 + 1 = 1002.3 Raliser les oprations.

    a) 1 0 1 1 1 1

    b) 1 1 0 0 1 0 1

    c) 1 0 0 1 1 1 0 1 1 0 = 1 1 1 0 1 0 1 02.4 Raliser les oprations.

    a) 1 0 0 1 0 0 / 1 1 =

    b) 1 1 0 0 0 0 / 1 1 0 = 1 0 0 0

    1 1 0 0 1 0 0 0

    0 1 0 0

    1 0 0 0 1 0 1

    1 1 0 1 soustraction intermdiaire1 1 1 retenues intermdiaires0 0 1 1

    1 0 1 1 1 1

    1 0 1 11 0 1 1

    1 1 1 11 0 0 0 0 1

    1 1 0 0 1 0 1

    1 1 0 00 0 0 0

    1 1 0 01 1 1 1 0 0

    1 0 0 1 0 0 1 1 1 1 10 0 1 1

    1 1 10 0 0 00 0 0 0 0

    0GOUPILLE_NE.book Page 16 Vendredi, 14. dcembre 2007 9:04 09

  • Solutions 17

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    2.5 Convertir en binaire.a) 127.7510

    La partie entire est 11111112Pour la partie fractionnaire : .75 2 = 1.50

    .50 2 = 1.00Il ne reste plus de dcimales donc on sarrte.Le nombre 127.7510 quivaut donc 1111111.112b) 307.1810

    et pour la partie fractionnaire :

    Le nombre 307.1810 donne donc 100110011.001011122.6 Convertir en hexadcimal a) 316710 b) 21910 c) 656010

    a) 316710

    Le rsultat se lit en montant et est donc : 0xC5Fb) 21910 = 0xDBc) 656010 = 0x19A0

    127 : 2 = 63 reste 163 : 2 = 31 " 131 : 2 = 15 " 115 : 2 = 7 " 17 : 2 = 3 " 13 : 2 = 1 " 11 : 2 = 0 " 1

    307 : 2 = 153 reste 1153 : 2 = 76 " 176 : 2 = 38 " 038 : 2 = 19 " 019 : 2 = 9 " 19 : 2 = 4 " 14 : 2 = 2 " 02 : 2 = 1 " 01 : 2 = 0 " 1

    .18 2 = 0.36

    .36 2 = 0.72

    .72 2 = 1.44

    .44 2 = 0.88

    .88 2 = 1.76

    .76 2 = 1.52

    .52 2 = 1.04 etc.

    3167 : 16 = 197 reste 15 soit F197 : 16 = 12 reste 5 soit 512 : 16 = 0 reste 12 soit C

    0GOUPILLE_NE.book Page 17 Vendredi, 14. dcembre 2007 9:04 09

  • 18 2 Numration binaire et hexadcimale

    2.7 Convertir en dcimal a) 0x3AE b) 0xFFF c) 0x6AFa) 0x3AE

    b) 0xFFF = 409510c) 0x6AF = 171110

    2.8 Convertir en base 16 a) 12810 b) 10110 c) 25610d) 1102 e) 10010112

    a) 12810

    12810 = 100000002on dcompose en blocs de 4 bits en commenant par la droite soit : 1000 00002on donne les quivalents dcimaux de ces blocs soit : 1000 8 et 0000 0donc 12810 = 0x80b) 10110 = 0x65c) 25610 = 0x100d) on complte le bloc de 4 bits soit 01102 donc 616.e) 10010112 = 0x4B

    2.9 Convertir en base 10 a) 0xC20 b) 0xA2Ea) 0xC20On reconstitue les blocs de 4 bits.

    on convertit le nombre binaire obtenu en dcimal, soit 310410b) 0xA2E = 260610

    2.10 Convertir en base 2 a) 0xF0A b) 0xC01a) 0xF0AOn reconstitue les blocs de 4 bits.

    0xF 0 A = 1111000010102b) 0xC01 = 1100000000012

    3 A E3 162 + A 161 + E 1603 256 + 10 16 + 14 1 soit 94210

    128 : 2 = 64 reste 064 : 2 = 32 032 : 2 = 16 016 : 2 = 8 08 : 2 = 4 04 : 2 = 2 02 : 2 = 1 01 : 2 = 0 1

    C 2 01100 0010 00002

    F 0 A161111 0000 10102

    0GOUPILLE_NE.book Page 18 Vendredi, 14. dcembre 2007 9:04 09

  • D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    Chapitre 3

    Reprsentation des nombres

    Les informations que doivent traiter les ordinateurs sont composes de chiffres, delettres ou de symboles particuliers. Historiquement le but premier des ordinateurstait de rsoudre rapidement des calculs complexes et longs. La premire forme dereprsentation tudie a donc t celle des nombres.

    Le choix dun mode de reprsentation du nombre est gnralement fait par leprogrammeur et donnera lieu lutilisation dinstructions particulires du langage(dclarations int, long int, unsigned, float en langage C par exemple).

    Bien comprendre comment se prsentent les nombres dans ces divers formatspermet au programmeur de minimiser la place occupe sur le support de stockage(disque dur, CDROM) mais galement la place occupe en mmoire centrale etdonc la rapidit des traitements que lon fera sur ces donnes.

    3.1 NOTION DE MOT

    Les systmes informatiques manipulent, ainsi que nous lavons dit lors de ltude dela numration, des informations binaires et travaillent en gnral sur une longueurfixe de bits que lon appelle mot. Suivant la machine, la taille du mot pourra trediffrente, les tailles classiques tant dsormais de 32 ou 64 bits avec une volutionen cours vers les 128 bits. Par exemple, un micro-ordinateur construit autour dunmicroprocesseur Intel Pentium utilise des mots de 32 bits, alors quune machineconstruite autour du microprocesseur Athlon 64 de AMD utilise des mots de 64 bits,le processeur Intel Itanium 2 des mots de 128 bits On peut rencontrer aussi lesnotions de demi-mot ou de double-mot.

    0GOUPILLE_NE.book Page 19 Vendredi, 14. dcembre 2007 9:04 09

  • 20 3 Reprsentation des nombres

    La reprsentation des nombres, lintrieur de la machine se fait selon deuxmthodes dites en virgule fixe et en virgule flottante.

    3.2 NOMBRES EN VIRGULE FIXE

    Un nombre en virgule fixe est une valeur, munie ou non dun signe, enregistrecomme un entier binaire, ou sous une forme dite DCB (Dcimale Code Binaire).Un tel nombre est dit en virgule fixe car le soin de placer la virgule revient auprogrammeur (on parle galement de virgule virtuelle), cest--dire que la virgulenapparat pas dans le stockage du nombre mais sera place par le programmeurdans le programme qui utilise ce nombre, dcomposant ainsi la valeur lue en unepartie entire et une partie fractionnaire (cest le rle notamment de lindicateur Vutilis dans les descriptions de donnes COBOL).

    3.2.1 Nombres entiers binaires

    Les nombres observs jusqu maintenant (cf. La numration) taient des entiersnaturels ou entiers relatifs positifs ou nuls, non signs (integer ou unsigned integer)et dans nos soustractions nous obtenions des rsultats positifs. Quen est-il desnombres ngatifs et, dune manire plus gnrale, de la reprsentation du signe ?

    a) Entiers signs (signed integer)

    En ce qui concerne les entiers relatifs (entiers pouvant tre ngatifs), il faut coder lenombre afin de savoir sil sagit dun nombre positif ou dun nombre ngatif.

    La solution la plus simple, concernant la reprsentation du signe, consiste rserver un digit binaire pour ce signe, les autres bits reprsentant la valeur absoluedu nombre. La convention retenue impose de mettre le premier bit celui tant situle plus gauche et qui est donc le bit de poids fort 0 pour reprer un nombrepositif et mettre ce mme bit 1 dans le cas dun nombre ngatif. On parle dedonnes signes quand on utilise cette convention. Cest ainsi que :

    0 1 1 0 1 1 reprsenterait 27101 1 1 0 1 1 reprsenterait 2710Toutefois, une telle reprsentation des nombres signs entranerait un traitement

    spcial du signe, et des circuits lectroniques diffrents selon que lon voudrait

    0000

    Quartet

    Octet 1

    Mot de 32 bits

    0GOUPILLE_NE.book Page 20 Vendredi, 14. dcembre 2007 9:04 09

  • 3.2 Nombres en virgule fixe 21

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    raliser des additions ou des soustractions. Cet inconvnient est rsolu par lusagedune autre forme de reprsentation des nombres ngatifs dite reprsentation encomplment ou encore reprsentation sous forme complmente. Les rglessuivantes sont donc adoptes par la majeure partie des constructeurs.

    Nombre stock sur un octet

    Si le bit de signe a la valeur 0, la donne est positive. Les valeurs positives sont reprsentes sous leur forme binaire. La valeur zro est considre comme une donne positive. Si le bit de signe a la valeur 1, la donne est ngative. Les valeurs ngatives sont reprsentes sous leur forme complment deux ou

    complment vrai.

    b) Reprsentation en complment

    La reprsentation des nombres sous la forme en complment se fait selon deuxmodes qui ne sappliquent en principe quaux nombres ngatifs : complmentrestreint, ou complment vrai.

    Complment restreint

    Le complment restreint dun nombre binaire sobtient par la simple inversion desvaleurs des bits constituant ce nombre.

    Complment vrai (ou complment 2)

    Le complment vrai (ou complment 2) dun nombre sobtient en ajoutant 1 aucomplment restreint obtenu selon la mthode prcdemment expose.

    On souhaite stocker sur un octet le nombre 2310

    Signe Reprsentation du nombre

    7 6 5 4 3 2 1 0 Poids des bits

    Ainsi, en considrant le nombre 1 0 0 1 0Il aura pour complment restreint 0 1 1 0 1

    Nombre au dpart 0 0 1 0 1 1 1Complment restreint 1 1 0 1 0 0 0

    + 1Complment vrai ( 2) 1 1 0 1 0 0 1

    1 1 1 0 1 0 0 1

    Signe Nombre

    0GOUPILLE_NE.book Page 21 Vendredi, 14. dcembre 2007 9:04 09

  • 22 3 Reprsentation des nombres

    c) Soustraction par la mthode du complment restreintDans une machine travaillant en complment restreint, la soustraction sera obtenuepar laddition du complment restreint du nombre soustraire avec le nombre dontil doit tre soustrait, et report de la retenue. Sil y a absence de report (pas de retenueou dbordement), issu du dernier rang, cela signifie que le rsultat est ngatif. Il seprsente alors sous une forme complmente (complment restreint). Il suffiradonc de retrouver le complment restreint de ce rsultat pour obtenir la valeurrecherche.

    Soit retrancher 2810 de 6310

    Dans cet exemple, laddition provoque une retenue, le rsultat de lopration estdonc un nombre positif.

    Soit retrancher 6310 de 2810

    Dans ce second exemple laddition ne provoque pas de retenue : le rsultat seprsente donc comme un nombre ngatif sous sa forme complmente (ici nousfonctionnons en complment restreint). Il suffit de dterminer ensuite le compl-ment restreint du nombre rsultant de laddition pour en connatre la valeur, soitdans ce cas le complment restreint de 11011100, donc 00100011 soit 3510. Lersultat dfinitif est donc 3510.

    Remarque : La dmarche est galement valable pour une reprsentation encomplment vrai. La technique est la mme, sauf que lon ne rinjecte pas le dbor-dement (report, retenue ou carry). Au lieu de dterminer des complments restreintson dtermine, bien sr, des complments vrais.

    Les formats de reprsentation en complment ne permettent de stocker quunnombre limit de valeurs selon la taille du mot dont on dispose.

    Avec un mot de 16 bits

    6310 0 0 1 1 1 1 1 1 Le nombre 63 2810 0 0 0 1 1 1 0 0 + 1 1 1 0 0 0 1 1 Complment restreint de 28

    3510 report (retenue) gnr 1 0 0 1 0 0 0 1 0prise en compte + 1

    0 0 1 0 0 0 1 1 Le nombre 35

    2810 0 0 0 1 1 1 0 0 Le nombre 28 6310 0 0 1 1 1 1 1 1 + 1 1 0 0 0 0 0 0 Complment restreint de 63

    () 3510 pas de report gnr 1 1 0 1 1 1 0 0 Le nombre 35 sous formecomplmente

    0 0 1 0 0 0 1 1 Le nombre 35

    Plus grande valeur possible 01111111111111112soit + 3276710Plus petite valeur possible 10000000000000002en complment deux soit 3276810

    0GOUPILLE_NE.book Page 22 Vendredi, 14. dcembre 2007 9:04 09

  • 3.2 Nombres en virgule fixe 23

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    Dune manire gnrale on peut considrer le tableau suivant :TABLEAU 3.1 TAILLE DES MOTS ET VALEUR DCIMALE

    3.2.2 Nombres en forme Dcimale Code Binaire DCB

    Les nombres stocks sous une forme DCB Dcimale Code Binaire ou BCD(Binary Coded Decimal) peuvent tre reprsents de deux manires selon que lonutilise un code DCB dit condens ou tendu. DCB, issu dun code simple (code8421) nest toutefois plus gure utilis lheure actuelle. Dans le code 8421 (ainsinomm du fait des puissances de 2 mises en uvre), chaque chiffre du nombre estreprsent par son quivalent binaire cod sur un bloc de 4 bits (un quartet ounibble).

    Figure 3.1 Reprsentation en 8421

    Taille du mot octet(s) Nombre de bits Valeurs dcimales

    1 8 bits de valeur 0 255

    1 1 bit de signe 0 + 127

    7 bits de valeur 0 128

    2 16 bits de valeur 0 65 535

    2 1 bit de signe 0 + 32 767

    15 bits de valeur 0 32 768

    4 32 bits de valeur 0 4 294 967 295

    4 1 bit de signe 0 + 2 147 483 647

    31 bits de valeur 0 2 147 483 648

    Position Binaire

    Chiffre 23 22 21 20

    8 4 2 1

    0 0 0 0 0

    1 0 0 0 1

    2 0 0 1 0

    3 0 0 1 1

    4 0 1 0 0

    5 0 1 0 1

    6 0 1 1 0

    7 0 1 1 1

    8 1 0 0 0

    9 1 0 0 1

    0GOUPILLE_NE.book Page 23 Vendredi, 14. dcembre 2007 9:04 09

  • 24 3 Reprsentation des nombres

    a) Cas du DCB condens

    Dans le cas du DCB condens (on dit aussi packed ou paquet), chaque chiffre dunombre coder occupe un quartet (cest en fait du 8421). Le signe est gnralementstock dans le quartet le moins significatif.

    Ainsi 3 1 710

    On rencontre diverses mthodes de codification du signe : 0000 pour le signe + et1111 pour le signe (ou linverse), ou, plus souvent, B16 (soit 10112) pour le + etD16 (soit 11012) pour le (abrviations de 2B et 2D) qui codent en ASCII les carac-tres + et .

    Reprsenter le nombre + 341 en DCB condens

    Ce code, simple, est utilis pour le stockage des nombres et on le rencontre encoredans des applications dveloppes notamment avec le langage COBOL.

    b) Cas du DCB tendu

    Dans le cas du DCB tendu (unpacked, ou tal ou non- paquet ), chaquechiffre dcimal est reprsent par un octet. Toutefois dans cette forme tendue, les4 bits de droite de loctet sont suffisants pour coder les chiffres allant de 0 9 tandisque les quatre bits de gauche, dits aussi bits de zone , ne servent rien. Dans unformat en DCB tendu, cest la partie zone de loctet le moins significatif (cest--dire celui ayant le poids le plus faible) qui va jouer le rle du signe.

    Reprsenter le nombre + 341 en DCB tendu

    En rsum un nombre en virgule fixe peut tre reprsent : sous forme dun entier binaire sign ou non, en DCB condens, en DCB tendu.

    La reprsentation en virgule fixe occupe une place mmoire importante quand onutilise de grands nombres et on lui prfre une autre forme de reprsentation dite envirgule flottante.

    0011 0001 0111

    3 1 7

    0011 0100 0001 1011

    3 4 1 signe +

    0000 0011 0000 0100 1011 0001

    zone 3 zone 4 signe + 1

    0GOUPILLE_NE.book Page 24 Vendredi, 14. dcembre 2007 9:04 09

  • 3.3 Nombres en virgule flottante 25

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    3.3 NOMBRES EN VIRGULE FLOTTANTE

    Pour reprsenter des rels, nombres pouvant tre positifs, nuls, ngatifs et nonentiers, on utilise gnralement une reprsentation en virgule flottante (float) qui faitcorrespondre au nombre trois informations : le signe (positif ou ngatif) ; lexposant (ou caractristique) qui indique la puissance laquelle la base est

    leve ; la mantisse (parfois appele significande) qui reprsente les chiffres significatifs

    du nombre.

    Ainsi, 1 200 000 000 en dcimal peut galement scrire 12 E 8 o12 est la mantisse8 est lexposant (souvent repr par la lettre E)

    Lensemble est quivalent 12 108 (10 tant la base).En ce qui concerne le signe, la manire la plus concise, pour reprsenter un

    nombre sign en virgule flottante est demployer un exposant et une mantisse signs.

    123,45 = 0,12345 10+3

    0,0000678 = + 0,678 104

    De plus, on utilise en gnral un exposant dcal au lieu de lexposant simple.Par exemple, si on considrait un dcalage de 5 (ce qui revient laddition systma-tique de 5 lexposant rel), les nombres ci-dessus seraient reprsents de lamanire suivante :

    Cette technique de lexposant dcal est trs utile car elle vite de traiter desexposants ngatifs ( condition bien sr que le dcalage choisi soit suffisammentgrand). On peut noter galement qua priori, une reprsentation en virgule flottantenest pas ncessairement unique.

    Ainsi :

    0,1234000 102 = 0,0123400 103 = 0,0001234 105

    123,45 signe de lexposant + (10 +3)exposant dcal + 8 (5 + 3)mantisse 0,12345signe du nombre

    + 0,0000678 signe de lexposant (10 4)exposant dcal + 1 (5 4)mantisse 0,67800signe du nombre +

    0GOUPILLE_NE.book Page 25 Vendredi, 14. dcembre 2007 9:04 09

  • 26 3 Reprsentation des nombres

    Il est alors ncessaire de respecter une forme normalise afin que la reprsenta-tion ne varie pas dun matriel lautre. Sur le principe, un nombre normalis est unnombre dans lequel le chiffre suivant la marque dcimale, gauche de la mantisse(donc droite de la marque dcimale), nest pas un zro alors que le nombre gauche de la marque dcimale est un zro. Ce zro est omis et le nombre est stockcomme un dcimal. Ainsi, dans nos exemples prcdents :

    0,01234000 103 nest pas normalis alors que 0,123400 102 est normalis et reprsent comme .123400 102

    Il est possible de rencontrer, selon les normalisations ou les constructeurs,plusieurs normes de reprsentation des nombres en virgule flottante (IEEE,DEC, IBM). Nous nous bornerons prsenter ici la norme IEEE (Institute of Elec-trical and Electronic Engineers) 754 [1985] qui est la plus rpandue actuellement.

    Selon la prcision recherche, on utilisera, pour le stockage du nombre, unnombre doctets plus ou moins important. On parle alors de format simple prci-sion ou de format double prcision.

    La norme la plus utilise pour le codage des rels est la norme IEEE 754 quiprvoit une reprsentation des nombres rels en virgule flottante avec trois niveauxde prcision selon le nombre de bits utiliss pour mmoriser la valeur.

    Dans cette norme, un codage en simple prcision (dclar par float en C) estralis sur 32 bits et un codage en double prcision (dclar double en C) sur 64bits. Le troisime mode sur 80 bits est appel prcision tendue ou grande prci-sion (dclar long double en C).

    Ces bits sont rpartis en trois ensembles : Signe, Exposant et Mantisse. De plus,dans cette norme lexposant est cod en dcalage (on dit aussi en excdant ou avecun excs ) par rapport lexposant de rfrence, de 127 en simple prcision et 1023en double prcision.

    Le tableau suivant dcrit la rpartition des bits selon le type de prcision :

    Fonctionnement dans la norme IEEE 754 :

    Pour comprendre, appuyons-nous sur deux exemples simples :

    1. Comment reprsenter le nombre dcimal 6,625 en virgule flottante, formatsimple prcision ?

    TABLEAU 3.2 STRUCTURE DU FLOTTANT SELON LA PRCISION

    Signe Exposant Mantisse

    Simple Prcision 1 8 23 32 bits

    Double Prcision 1 11 52 64 bits

    Grande Prcision 1 15 64 80 bits

    0GOUPILLE_NE.book Page 26 Vendredi, 14. dcembre 2007 9:04 09

  • 3.3 Nombres en virgule flottante 27

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    a) Commenons par convertir ce nombre dcimal en binaire, soit : 6,625 =110,1010.

    b) Ensuite, il faut normaliser (dcaler la virgule vers la gauche). Dans lanorme IEEE 754, en binaire, le dcalage de la virgule se fait vers la gauchejusqu laisser 1 bit significatif. Soit ici : 110,1010 = 1,101010. Le dcalage est de2 bits. noter que le 1 significatif nest pas not dans la reprsentation. Lavaleur prsente dans la mantisse sera donc 101010 complt avec des 0 pour lesautres bits de poids faible (ceux droite ou derrire le nombre).c) Dans la norme IEEE 754, lexposant est cod en excdant (on dit aussi avecun excs ) par rapport lexposant de rfrence (127 en simple prcision et 1023en double prcision). Lexposant en excs (ou exposant dcal ) sera donc ici :129 (127+2) soit en binaire : 10000001.d) Le signe du nombre tant positif, le bit reprsentatif du signe sera positionn zro.

    2. Comment retrouver la valeur dcimale du nombre 44 F3 E0 00 reprsent envirgule flottante selon cette mme normalisation ?

    a) On va commencer par placer nos valeurs hexadcimales et leurs quivalentsbinaires dans la structure du flottant simple prcision.

    b) Signe : le bit de signe est un zro il sagit donc dun nombre positif.c) Exposant : 10001001 = 137 donc un dcalage de 10 par rapport 127 qui estlexposant de base.

    d) Mantisse : .11100111110000000000000. Comme lexposant que nous avonstrouv ici est +10 on sait que lon peut alors dnormaliser en repoussant lavirgule de 10 symboles binaires vers la droite et quon va y rajouter le bit nonsignificatif, non stock dans la mantisse, ce qui nous fait au final :11110011111.0000000000000 soit en dcimal : 1951.

    Le stockage en virgule flottante permet donc de coder de grands nombres ; cestainsi que sur le format vu ci-dessus on peut stocker des nombres allant de 1076,8environ 10+75,6 environ.

    S Exposant Mantisse

    0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    4 0 D 4 0 0 0 0

    S Exposant Mantisse

    0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

    4 4 F 3 E 0 0 0

    0GOUPILLE_NE.book Page 27 Vendredi, 14. dcembre 2007 9:04 09

  • 28 3 Reprsentation des nombres

    Lorsque les flottants IEEE 754 offrent une prcision insuffisante, on peut recourir des calculs en prcision suprieure au moyen de bibliothques comme GMP(GNU MP GNU Multiprecision Library) qui est une bibliothque libre decalculs en prcision tendue sur des nombres entiers, rationnels et en virgule flot-tante.

    La dtermination du type de stockage, en virgule flottante, simple ou doubleprcision est ralise au moyen des instructions appropries du langage (dclara-tion de variables en type real en PASCAL, float en C). Il appartiendra donc auprogrammeur de choisir, pour la reprsentation de ses nombres, une forme de stoc-kage adapte son problme. Mais il devra toujours avoir prsent lesprit le faitque, pour les grands nombres, cest en gnral le stockage sous forme virgule flot-tante qui minimise la place occupe.

    Pour vrifier vos calculs, vous pouvez vous reporter au site :http//babbage.cs.qc.edu/IEEE-754.

    EXERCICES

    3.1 Raliser lopration binaire 2010 3010 en utilisant les deux techniques :a) du complment restreintb) du complment vrai

    3.2 Coder sous forme dentier binaire (mot de 16 bits) le nombre : 35710

    3.3 Coder en DCB condens a) 38710 b) 35.4710 c) 35.9910

    3.4 Coder en DCB tendu a) 386710 b) 34.67510 c) 34.4510

    3.5 En utilisant le format virgule flottante IEEE 754 simple prcision, coder lenombre : 27.7510

    3.6 Dcoder le nombre IEEE 754 simple prcision : 0x44FACC00

    0GOUPILLE_NE.book Page 28 Vendredi, 14. dcembre 2007 9:04 09

  • Solutions 29

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    SOLUTIONS

    3.1 a) Par les complments restreints

    b) Par les complments vrais

    3.2 Le nombre 35710, tant ngatif, devra tout dabord tre reprsent sous sa formecomplmente 2. Rappelons quil convient, pour ce faire, den fournir le complmentrestreint puis dajouter 1 au rsultat trouv.

    Le mot tant de 16 bits il convient de complter les positions binaires non occupes par des1, car nous sommes sous la forme complmente (on dit aussi que lon cadre le nombre droite), en rservant le premier bit (bit le plus gauche) au codage du signe (que lon codegnralement par un 1).Ceci nous donne alors : 1111 1110 1001 10113.3 En DCB condens, chaque chiffre du nombre coder est reprsent par son quivalent8421 sur un quartet, le signe (que nous reprsenterons sous sa forme ASCII abrge) occu-pant le quartet le moins significatif (quartet le plus droite).

    Rappelons que la marque dcimale est une marque virtuelle qui ne doit donc pas appa-ratre dans la description du nombre.

    0 0 0 1 0 1 0 0 (+20) Il ny a pas de dbordement cela signifie quil sagit dun nombre ngatif sous sa forme complment restreint. On doit alors dcomplmenter .

    + 1 1 1 0 0 0 0 1 (30) en complment restreint1 1 1 1 0 1 0 1 Il ny a pas de dbordement0 0 0 0 1 0 1 0 (10)

    0 0 0 1 0 1 0 0 (+20)Le fait quil ny ait pas de dbordement nous indique quil sagit donc dun nombre ngatif sous sa forme complment vrai. On doit dcomplmenter.

    + 1 1 1 0 0 0 1 0 (30) en complment vrai1 1 1 1 0 1 1 0 Il ny a pas de dbordement0 0 0 0 1 0 0 1 complment restreint

    +10 0 0 0 1 0 1 0 (10)

    357 = 101100101 rsultat en binaire naturelsoit = 010011010 rsultat en complment restreint

    +1= 010011011 rsultat en complment 2 (complment vrai)

    a) 38710 = 0011 1000 0111 10113 8 7 +

    b) 35.4710 = 0011 0100 0111 0111 10113 5 4 7 +

    c) 35.9910 = 0011 0100 1001 1001 10113 5 9 9

    0GOUPILLE_NE.book Page 29 Vendredi, 14. dcembre 2007 9:04 09

  • 30 3 Reprsentation des nombres

    3.4 Rappelons que dans le cas du DCB tendu, chaque chiffre du nombre est stock sous saforme DCB (ou 8421) sur la partie droite de chaque octet (quartet droit), la partie gauche deloctet (ou zone) tant complte gnralement par des bits 1. Le signe quant lui peutprendre plusieurs formes (nous avons dcid arbitrairement de lui donner sa reprsentationabrge de lASCII).

    Rappelons que la marque dcimale est une marque virtuelle qui ne doit donc pas appa-ratre dans la description du nombre.

    3.5 Commenons par convertir ce nombre dcimal en binaire, soit : 27,75 = 11011,11.Ensuite, il faut normaliser . Avec IEEE 754, le dcalage de la virgule se fait jusqu laisser1 bit significatif. Soit ici : 11011,11 = 1.101111. Le dcalage est de 4 bits. La valeur prsentedans la mantisse sera donc 101111 complte avec des 0 pour les bits de poids faible.Avec IEEE 754 simple prcision, lexposant est cod en excdant 127. Lexposant dcalsera donc ici : 131 (127+4) soit en binaire : 10000011.e) Le signe du nombre tant positif, le bit reprsentatif du signe sera positionn zro.

    3.6 Il convient tout dabord de retrouver la forme binaire du nombre : 44FACC00. Le plussimple tant de le reporter directement dans la structure du format flottant simple prci-sion IEEE 754.

    Signe : le bit de signe est zro, il sagit donc dun nombre positif.Exposant : 10001001 = 13710 donc, par rapport 12710 qui est lexposant de rfrence),traduit un dcalage de 10.Mantisse : .111101011001100000000001. Lexposant que nous avons dtermin tant +10,nous pouvons dnormaliser en dcalant la marque dcimale de dix bits vers la droite, eny rajoutant pralablement le bit non stock dans la mantisse soit :1.11110101100110000000000 avant dcalage et 11111010110.0110000000000 aprs dca-lage. Ce qui nous donne en base 10 : .11111010110 = 200610 pour la partie entire et.0110000000000 pour la partie fractionnaire soit : 0,25 + .0125 = 0,375. Le nombre stockest donc 2006,375.

    a) 386710 = 1111 0011 1111 1000 1111 0110 1011 01113 8 6 + 7

    b) 34.67510 = 1111 0011 1111 0100 1111 0110 1111 0111 1011 01013 4 6 7 + 5

    c) 34.4510 = 1111 0011 1111 0100 1111 0100 1101 01013 4 4 5

    S Exposant Mantisse

    0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    4 1 D E 0 0 0 0

    S Exposant Mantisse

    0 1 0 0 0 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0

    4 4 F A C C 0 0

    0GOUPILLE_NE.book Page 30 Vendredi, 14. dcembre 2007 9:04 09

  • D

    unod

    L

    a ph

    otoc

    opie

    non

    aut

    oris

    e es

    t un

    dlit

    .

    Chapitre 4

    Reprsentation des donnes

    Les informations que doivent traiter les ordinateurs sont composes de nombres, delettres, de chiffres ou de symboles particuliers. Il est encore, lheure actuelle, tropcompliqu de raliser des systmes prsentant autant dtats stables que de carac-tres reprsenter, et les matriels ne reconnaissent que les deux tats binaires. Ondoit alors reprsenter linformation traiter, quelle quelle soit, de manire cequelle puisse tre utilisable par la machine. Pour cela, on doit coder ces informa-tions afin quassimilables par lhomme elles le deviennent par la machine.

    Avec un code thorique 1 bit, on pourrait reprsenter deux symboles, nots 0 ou1, ainsi que nous lavons vu lors de ltude de la numration binaire, soit21 combinaisons. Il nous faut donc un code 4 bits pour reprsenter les 10 chiffres(0 9) utiliss dans le systme dcimal. Si nous voulons reprsenter, en plus deschiffres, les lettres de lalphabet, il faut un code capable de reprsenter les26 combinaisons correspondant aux lettres plus les 10 combinaisons qui correspon-dent aux chiffres, soit 36 combinaisons diffrentes, ce qui implique lutilisation duncode compos au minimum de 6 bits (25= 32 combinaisons tant insuffisant ;26 = 64 combinaisons tant alors suffisant et permettant mme de coder certainesinformations particulires telles que saut de ligne, de page).

    4.1 LE CODE ASCII

    Le code ASCII (American Standard Code for Information Interchange) [1963] estlanctre de tous les codes utiliss en informatique. Il a t normalis [1968] souslappellation de code ISO 7 bits (International Standards Organization) ou ANSIX3.4-1968 puis mis jour (ANSI X3.4-1977 et ANSI X3.4-1986) au fur et mesure

    0GOUPILLE_NE.book Page 31 Vendredi, 14. dcembre 2007 9:04 09

  • 32 4 Reprsentation des donnes

    des volutions de linformatique. On peut aussi le rencontrer sous le nom dUS-ASCII ou ASCII Standard.

    Ce code 7 bits, dfini au dpart pour coder des caractres anglo-saxons nonaccentus, autorise 128 combinaisons binaires diffrentes qui permettent la repr-sentation de 128 symboles ou commandes. Cest le jeu de caractres ou charset.

    Lutilisation du tableau des codes ASCII se fait de manire simple. Ainsi, pourcoder la lettre A en ASCII, lobservation du tableau montre quelle se trouve lintersection de la colonne de valeur hexadcimale 4 et de la ligne de valeur hexa-dcimale 1. Le code ASCII de la lettre A est donc 41 en hexadcimal (souvent not41H ou 0x41).

    Certains langages peuvent utiliser une codification des caractres ASCII endcimal et non pas en hexadcimal. Le caractre A prcdent serait alors cod 65qui est lquivalent dcimal de 0x41 Ainsi linstruction print char(65) affiche le Aalors que print char(41) affiche la parenthse fermante ) . Cette notion est utilepour atteindre certains caractres au clavier si par malheur il se retrouve en format QWERTY . En effet, la frappe de la valeur dcimale du caractre recherch tout en maintenant la touche Alt enfonce permet datteindre ce caractre. Parexemple, Alt 92 permet dobtenir le symbole \ (bien utile si on ne matrise pas leclavier QWERTY).

    Inversement, si lon cherche quel caractre correspond le code ASCII 0x2A ilsuffit dobserver le tableau des codes, colonne 2 ligne A. Lintersection de cescolonne/ligne nous donne la correspondance, soit ici le caractre *.

    Vous pouvez gnrer de lASCII standard quand, avec Word par exemple,vous sauvez un fichier en texte brut avec le code ASCII E-U. Les ventuelscaractres accentus sont alors perdus . Le texte au format ASCII ne contientaucune information de mise en forme telle que le gras, l'italique ou les polices.

    Le code ASCII standard intgre galement certains caractres qui ne sontutiliss que dans des cas particuliers. Il en est ainsi des caractres EOT, ENQ ouautres ACK qui ne sont pas dun usage courant mais sont exploits lors de la trans-mission de donnes (par exemple entre lordinateur et limprimante, entre deux ordi-nateurs).

    Le code ASCII standard est parfois assimil un code 8 bits car chaque carac-tre est log dans un octet, ce qui permet dajouter aux 7 bits initiaux, un bit decontrle (bit de parit), souvent inutilis et mis 0 dans ce cas. Ce bitsupplmentaire tait lorigine assez souvent rcupr par les constructeurspour assurer la reprsentation de symboles plus ou moins propritaires , carac-tres graphiques la plupart du temps et on parlait alors dun code ASCII tendu oucode ASCII 8 bits.

    0GOUPILLE_NE.book Page 32 Vendredi, 14. dcembre 2007 9:04 09

  • 4.1 Le code ASCII 33

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    Figure 4.1 Le code ASCII standard

    Figure 4.2 Signification des commandes rencontres dans le tableau

    0 1 2 3 4 5 6 70 NUL DLE SP 0 @ P p1 SOH DC1 ! 1 A Q a q2 STX DC2 2 B R b r3 ETX DC3 # 3 C S c s4 EOT DC4 $ 4 D T d t5 ENQ NAK % 5 E U e u6 ACK SYN & 6 F V f v7 BEL ETB 7 G W g w8 BS CAN ( 8 H X h x9 HT EM ) 9 I Y i yA LF SUB * : J Z j zB VT ESC + ; K [ k {C FF FS , < L \ l |D CR GS - = M ] m }E SO RS . > N ^ n ~F SI US / ? O _ o DEL

    NUL Null Rien DLE Data Link Escape Change les caractres suivants

    SOH Start of Heading

    Dbut den-tte NAK Ngative AcK Rponse ngative

    STX Start of Text Dbut du texte SYN SYNchronous Synchronisation

    ETX End of Text Fin du texte ETB EndTransmission Block

    Fin de transmission de bloc

    EOT End of Transmission

    Fin de transmission

    CAN CANcel Annule le caractre transmis

    ENQ ENQuiry Demande EM End of Medium Fin physique du support

    ACK ACKnowledge Accus de rception

    SUB SUBstitute Substitution

    BELL Sonnette ESC ESCape Idem Shift

    BS Back Space Recul dun caractre

    FS File Separator Sparateur de fichiers

    HT Horizontal Tabulation

    Tabulation horizontale

    GS Group Separator Sparateur de groupes

    LF Line Feed Ligne suivanter RS Record Separator Sparateur denregistrements

    VT Vertical Tabulation

    Tabulation verticale

    US United Separator Sparateur unitaire

    FF Form Feed Page suivante SP SPace Espace

    CR Carriage Return

    Retour du chariot

    DEL DELete Suppression dun caractre ou dun groupe de caractres

    SO Shift Out Sortie du jeu standard

    DC1..DC4

    Device Control Commandes de priphriques

    SI Shift In Retour au jeu standard

    0GOUPILLE_NE.book Page 33 Vendredi, 14. dcembre 2007 9:04 09

  • 34 4 Reprsentation des donnes

    Le code ASCII a donc t tendu 8 bits [1970] afin de prendre en compte lescaractres accentus propres aux langages europens. Ce code ASCII tendu est labase de tous les codes utiliss aujourdhui. Mme avec ces caractres supplmen-taires, de nombreuses langues comportent des symboles quil est impossible dersumer en 256 caractres. Il existe pour cette raison des variantes de code ASCIIincluant des caractres et symboles rgionaux.

    Figure 4.3 Extension du code ASCII

    4.2 CODES ISO 8859

    Afin dtendre les possibilits du code ASCII dautres langues, lISO (Interna-tional Standards Organization) a cr une gamme de codes allant de ISO 8859-1[1987] ISO 8859-16 [2001]. Cette norme est utilise par de nombreux systmesdexploitation, dont Unix, Windows

    ISO 8859-xx reprend en grande partie le code ASCII et propose des extensionsdiffrentes pour diverses langues, au moyen des caractres de code suprieur 128.Lutilisation du code ISO se fait de la mme manire que pour un code ASCII, cest--dire que la valeur du caractre se dtermine par reprage des valeurs desintersections colonne-ligne

    Comme avec le jeu ASCII, certains caractres (valeurs 0 31) sont rservs descaractres de contrle. De mme, les 32 signes au-del du standard ASCII (valeurs128 159) sont rservs. Certains constructeurs (comme Windows avec son code decaractres Windows 1252) utilisent cette plage pour coder leurs propres caractresou commandes.

    0GOUPILLE_NE.book Page 34 Vendredi, 14. dcembre 2007 9:04 09

  • 4.2 Codes ISO 8859 35

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    ISO 8859-1, appel aussi Latin-1, tend lASCII standard avec des caractresaccentus utiles aux langues dEurope occidentale comme le franais, lallemandISO 8859-15 ou Latin-9 ajoute le caractre de leuro () et certains autres caractres(, ) qui manquaient lcriture du franais.

    Figure 4.4 ISO 8859-1

    Dans ses premires versions, HTML nacceptait quISO-8859-1 comme jeu decaractres. Cette restriction ne sapplique plus aux navigateurs rcents (postrieurs Internet Explorer 4.0 ou Netscape Navigator 4.0) qui permettent laffichage et letraitement de nombreux jeux de caractres (ISO, UNICODE) mme si quelquescaractres sont encore parfois mal interprts.

    Par contre, les codes ISO 8859-xx ne permettent de grer qualternativement, etnon pas simultanment, les autres alphabets (cyrillique, grec, arabe). En clair,vous ne pouvez pas avoir la fois un caractre arabe et un caractre grec lcran !

    0GOUPILLE_NE.book Page 35 Vendredi, 14. dcembre 2007 9:04 09

  • 36 4 Reprsentation des donnes

    ISO 8859-xx correspond au codage standard UNIX et est encore exploit par denombreux autres logiciels. Unicode en est une extension.

    Figure 4.5 La famille ISO 8859

    Anne Norme Description Variante

    1987ISO 8859-1Latin-1

    Europe de l'Ouest : allemand, franais, italien

    Windows-1252

    1987ISO 8859-2Latin-2

    Europe de l'Est : croate, polonais, serbe Windows-1250

    1988ISO 8859-3Latin-3

    Europe du Sud : turc, malte, espranto remplac par ISO 8859-9

    1988ISO 8859-4Latin-4

    Europe du Nord : lituanien, groenlandais, lapon remplac par ISO 8859-10

    1988 ISO 8859-5Alphabet cyrillique : bulgare, bilorusse, russe et ukrainien

    Famille KOI

    1987 ISO 8859-6 Arabe Windows-1256

    1987 ISO 8859-7 Grec Windows-1253

    1988 ISO 8859-8 Hbreu Windows-1255

    1989ISO 8859-9Latin-5

    Langues turques, plus utilis quISO 8859-3, identique ISO 8859-1 6 caractres prs.

    Windows-1254

    1992ISO 8859-10Latin-6

    Langues scandinaves. Version moderne dISO 8859-4

    2001 ISO 8859-11 Thalandais Windows-874

    1998ISO 8859-13Latin-7

    Langues baltes Windows-1257

    1998ISO 8859-14Latin-8

    Langues celtes

    1999ISO 8859-15Latin-0 ou Latin-9

    Version moderne de l'ISO 8859-1 (ajoute quelques lettres manquantes du franais et au finnois, ainsi que l'euro)

    Windows-1252

    2001ISO 8859-16Latin-10

    Europe du Sud-Est

    0GOUPILLE_NE.book Page 36 Vendredi, 14. dcembre 2007 9:04 09

  • 4.3 Le code EBCDIC 37

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    4.3 LE CODE EBCDIC

    Le code EBCDIC (Extended Binary Coded DecimalDcimal Interchange Code)est un code 8 bits (initialement 7 lpoque des cartes perfores) utilis essen-tiellement par IBM. Le codage se fait sensiblement de la mme faon que le tableauASCII, savoir quun caractre est cod par la lecture des valeurs binaires des inter-sections ligne/colonne (et non pas colonne/ligne). Ainsi, le caractre A se codera0xC1 en hexadcimal et correspond la suite binaire 1100 00012. Les caractres decommandes ont en principe la mme signification quen ASCII. Ainsi, SP indiquelespace, CR le retour chariot EBCDIC est encore utilis dans les systmes AS/400 dIBM et certains gros systmes. Il en existe 6 versions sans compter lesvariantes et les codepages de pays !

    Figure 4.6 Le code EBCDIC Standard

    UTF-EBCDIC est une version utilise pour reprsenter les caractres Unicode. Ilest conu pour tre compatible avec lEBCDIC, de sorte que les applicationsEBCDIC existantes puissent accepter et traiter les caractres UTF-Unicode sanstrop de difficult.

    Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F

    0 NULSOH

    STX ETX PT GE FF CR

    1 DLE SBAEUA

    1C NL EMDUP

    SF FM ITB

    2 ETB ESC ENQ

    3 SYN EOT RANAK

    4 SP . < ( +

    5 & ! $ * ) ;

    6 - / | , % _ > ?

    7 : # @ = "

    8 a b c d e f g h I

    9 j k l m n o p q r

    A s t u v w x y z

    B

    C { A B C D E F G H I

    D } J K L M N O P Q R

    E \ S T U V W X Y Z

    F 0 1 2 3 4 5 6 7 8 9

    0 1 2 3 4 5 6 7 8 9 A B C D E F

    0GOUPILLE_NE.book Page 37 Vendredi, 14. dcembre 2007 9:04 09

  • 38 4 Reprsentation des donnes

    4.4 UNICODE

    Compte tenu de lextension mondiale de linformatique et de la diversit de plus enplus importante des caractres stocker, les organismes de normalisation commelISO (International Standard Organization) travaillent depuis 1988 la crationdun code universel (UNIversal CODE). Ces travaux galement connus sous larfrence ISO/IEC 10 646 se prsentent sous deux formes : une forme 31 bits(UCS-4 pour Universal Character Set 4 octets) et une forme 16 bits (UCS-2)sous-ensemble de UCS-4. Le but de la norme UCS tant de coder le plus grandnombre possible de symboles en usage dans le monde et si possible terme,tous y compris les hiroglyphes, le cyrillique, le cuniforme (http://unicode.org/fr/charts/).

    Unicode 1.0.0 est le sous-ensemble de dpart conforme la norme ISO 10 646(UCS-2). Les caractres sont cods sur 16 bits ce qui permet de reprsenter65 535 caractres.

    Unicode 2.0 [1993] recense 38 885 caractres, qui correspondent ceux de lanorme ISO/IEC 10646-1:1993.

    Unicode 3.0 [2000] dnombre 49 194 symboles et caractres diffrents quicouvrent la majeure partie des principaux langages crits des tats-Unis, dEurope,du Moyen-Orient, dAfrique, dInde, dAsie et du Pacifique. Unicode 3.0 corres-pond la norme ISO/IEC 10646-1:2000. La version Unicode 3.1 introduit44 946 nouveaux symboles italique, gothique, mathmatiques et cest la premireversion qui inclut les caractres cods au-del de lespace dadressage de 16 bits dit plan zro ou PMB (Plan Multilingue de Base). La version Unicode 3.2 [2003]code 95 221 caractres.

    ce jour, Unicode 5.0 [2006] est la dernire version publie et inclut dsormaisdes caractres acadiens, phniciens, runiques ou cuniformes !

    Le standard Unicode est identique depuis 1992 la norme internationale ISO/CEI10 646 en ce qui concerne laffectation des caractres (leur numro) et leurs noms.Toute application conforme Unicode est donc conforme lISO/CEI 10 646.

    Unicode attribue chacun de ses caractres un nom et un numro.

    Figure 4.7 Quelques noms et numros Unicode

    lheure actuelle, les caractres Unicode peuvent tre traduits sous trois formesprincipales : une forme sur 8 bits (UTF-8 Universal Translation Form 8 bits) conue

    CRAYON VERS LE BAS DROITE 0x270E

    CRAYON 0x270F

    Croate, supplment pour le slovne 0x0200

    CROCHET BLANC COIN DROIT 0x300F

    dasia grec 0x0314

    dbut de ligne 0x2310

    0GOUPILLE_NE.book Page 38 Vendredi, 14. dcembre 2007 9:04 09

  • 4.4 Unicode 39

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    pour en faciliter lutilisation avec les systmes ASCII prexistants, une forme 16 bits(UTF-16) et une forme 32 bits (UTF-32). UTF-8 (RFC 3629) est le jeu de caractres le plus commun pour les applications

    Unix et Internet car son codage de taille variable lui permet dtre moins coteuxen occupation mmoire. UTF-8 prend en charge les caractres ASCII tendus etla traduction de UCS-2 (caractres Unicode 16 bits).

    UTF-16 est un bon compromis quand la place mmoire nest pas trop limite, carla majorit des caractres les plus frquemment utiliss peuvent tre reprsentssur 16 bits. Il autorise lemploi de plus dun million de caractres sans avoir faire usage des codes dchappement (Escape).

    UTF-32 synonyme dUCS-4 respecte la smantique Unicode et se conformeaussi bien la norme ISO 10646 qu Unicode. Il est utilis lorsque la placemmoire nest pas un problme et offre lavantage de coder tous les caractres surune mme taille mais gaspille de ce fait de nombreux octets inexploits.

    4.4.1 Fonctionnement de UTF-8

    Chaque caractre Unicode est fondamentalement repr par un nombre (point decode) compris entre 0 et 231 (0x0-0x7FFFFFFF) et un nom. Quand on na que peude caractres particuliers coder, il nest pas rentable de transmettre chaque fois31 bits dinformation alors que 8 ou 16 seulement peuvent suffire. Cest pourquoiUTF-8 se prsente sous une forme longueur variable, transparente pour lessystmes ASCII. Cette forme est gnralement adopte pour effectuer la transitionde systmes existants vers Unicode et elle a notamment t choisie comme formeprfre pour linternationalisation des protocoles dInternet.

    UTF-8 est donc un codage constitu dune suite doctets, de longueur variable.Les bits de poids fort dun octet indiquent la position de celui-ci dans la suite. Lepremier octet permet de savoir si la suite est compose de un, deux, trois octets.Toute suite qui ne suit pas ce modle est une suite mal forme doctets. Lespacetotal de codage a ainsi t dcoup en plages : La premire plage, qui code les caractres ASCII de base, est reprsente sur un

    octet (7 bits rellement exploits car le premier bit est positionn 0 et indiquequon se situe dans la 1 plage).

    La deuxime plage permet datteindre les codes des caractres accentus codssur 2 octets (11 bits utiles car les 3 bits de poids fort du 1 octet sont systmati-quement positionns 110 ce qui permet de connatre la plage et les 2 bits depoids fort du 2 octet sont systmatiquement positionns 10 pour indiquer quilsappartiennent une suite doctets dune plage donne repre par le premieroctet).

    La troisime plage, qui code les caractres exotiques , comporte 3 octets(16 bits utiles)

    La dernire plage occupe 6 octets (pour un total de 31 bits de donnes).

    0GOUPILLE_NE.book Page 39 Vendredi, 14. dcembre 2007 9:04 09

  • 40 4 Reprsentation des donnes

    Figure 4.8 Les plages Unicode

    Ainsi, en UTF-8, pour crire le mot dj , on utilisera la squence doctetssuivante (ici sous une reprsentation en forme hexadcimale) : 0x64 C3 A9 6A C3A0.

    Figure 4.9 Exemple dencodage

    La lettre d correspond un caractre de la premire plage. Loctet commen-cera donc par un 0, ce qui indique quil ne sera pas suivi et la valeur du caractrecorrespond celle trouve dans le charset de base (compatible avec de lASCIIstandard).

    Le caractre est un caractre de la deuxime plage Unicode. Il nous fautdonc utiliser 2 octets. Le premier octet indiquant quil est suivi par un second. Ce1 octet doit donc commencer par 110 ce qui indique quil est suivi dun octet etquil sagit dun caractre de la deuxime plage, cod au moyen des bits restantdisponibles dans les deux octets. Le deuxime octet commencera par 10 pourindiquer quil sagit dun octet de suite . La suite binaire restant disponible estdonc : 00000 (dans le 1 octet) et 000000 (dans le 2 octet) soit en dfinitive00000 000000. Nous devons y placer la valeur codant, dans le tableau Unicode(Complments au Jeu de Base Latin), la lettre , soit 0xE9 ou 1110 1001 enbinaire. On peut donc loger les six bits de poids faible (10 1001) de la sriebinaire dans le 2 octet et les deux bits de poids forts restant (11) dans le 1 octet,bits que nous ferons prcder au besoin dans cet octet de 0 pour le complter.Nous aurons alors en dfinitive, dans le premier octet 0xC3 (1100 0011) les troispremiers bits tant ceux rservs par Unicode et dans le deuxime octet 0xA9(1010 1001) les deux premiers bits sont rservs par Unicode.

    Caractres Unicode Octets en UTF-8

    0-127 0x0000 0000 0x0000 007F 0xxxxxxx

    128-2047 0x0000 0080 0x0000 07FF 110xxxxx 10xxxxxx

    2048-65535 0x0000 0800 0x0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx

    0x0001 0000 0x0001 FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

    0x0020 0000 0x03FF FFFF 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

    0x0400 0000 0x7FFF FFFF 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

    Hexadcimal 1 octet 2 octet 3 octet

    d 0x64 0110 0100 0110 0100

    0xC3 0xA9 1100 0011 1010 1001 1010 1001

    j 0x6A 0110 1010 0110 1010

    0xC3 0xA0 1100 0011 1010 0000 1010 0000

    0GOUPILLE_NE.book Page 40 Vendredi, 14. dcembre 2007 9:04 09

  • 4.4 Unicode 41

    Dun

    od

    La

    phot

    ocop

    ie n

    on a

    utor

    ise

    est u

    n d

    lit.

    De la mme manire, on trouvera ensuite la valeur 0x6A 106 pour le j et lecouple 0xC3A0 soit 195-160 pour coder la lettre .UTF-8 est compatible avec les protocoles bass sur le jeu de caractres ASCII, et

    peut tre rendu compatible (ainsi que nous lavons vu prcdemment) avec desprotocoles dchange supportant les jeux de caractres 8 bits comme ISO-8859 oudfinis par des normes nationales ou des systmes propritaires OEM (OriginalEquipment Manufacturer). La contrepartie cette possibilit de compatibilit estle codage de longueur variable (1 octet pour les caractres ASCII/ISO646 et de 2 4 octets pour les autres).

    Figure 4.10 Tables dencodage Unicode

    Unicode Jeu de base Latin Unicode Complments

    0GOUPILLE_NE.book Page 41 Vendredi, 14. dcembre 2007 9:04 09

  • 42 4 Reprsentation des donnes

    4.5 CODE BASE64 UTILIS PAR LE PROTOCOLE MIME

    Le type MIME (Multipurpose Internet Mail Extension) est un standard [1991] quipropose pour transfrer des donnes cinq format