7
Automatismes - Chap 2) 2) Numérisation 1. Le code binaire naturel ........................................................................................................................................................................... 2 1.1. Présentation ...................................................................................................................................................................................... 2 1.2. Conversion par divisions euclidiennes .................................................................................................................................. 2 1.3. Conversion par soustractions .................................................................................................................................................... 2 1.4. Addition de deux nombres binaires ........................................................................................................................................ 2 2. Le code hexadécimal ................................................................................................................................................................................ 3 2.1. Présentation ...................................................................................................................................................................................... 3 2.2. Division euclidienne....................................................................................................................................................................... 3 2.3. Tableau des 20 premiers nombres .......................................................................................................................................... 3 2.4. Conversion Hexa/Binaire ............................................................................................................................................................ 3 3. Représentation des nombres entiers signés ................................................................................................................................. 4 3.1. Bit de signe ......................................................................................................................................................................................... 4 3.2. Complément à deux ........................................................................................................................................................................ 4 3.3. Détermination du code complément à 2 d’un nombre ................................................................................................... 4 4. Représentation des nombres décimaux .......................................................................................................................................... 4 4.1. Nombre à virgule fixe .................................................................................................................................................................... 4 4.2. Nombre à virgule flottante (float) ............................................................................................................................................ 5 4.3. Conversion décimal vers IEEE 754 simple précision ...................................................................................................... 5 4.4. Conversion IEEE 754 simple précision vers décimal ...................................................................................................... 5 5. Le code binaire BCD ................................................................................................................................................................................. 5 6. Le code binaire réfléchi (code Gray)................................................................................................................................................. 6 6.1. Présentation ...................................................................................................................................................................................... 6 6.2. Codeur de position.......................................................................................................................................................................... 6 7. Le code ASCII .............................................................................................................................................................................................. 7 7.1. Présentation ...................................................................................................................................................................................... 7 7.2. Table des 128 caractères ASCII ................................................................................................................................................. 7

2) Numérisation - perso.numericable.frperso.numericable.fr/cira/pdf/Cours/Automatisme/2) Numerisation.pdf · Automatismes - Chap 2) 2) Numérisation 1. ... • La mantisse sur les

Embed Size (px)

Citation preview

Page 1: 2) Numérisation - perso.numericable.frperso.numericable.fr/cira/pdf/Cours/Automatisme/2) Numerisation.pdf · Automatismes - Chap 2) 2) Numérisation 1. ... • La mantisse sur les

Automatismes-Chap2)

2)Numérisation1. Lecodebinairenaturel...........................................................................................................................................................................21.1. Présentation......................................................................................................................................................................................21.2. Conversionpardivisionseuclidiennes..................................................................................................................................21.3. Conversionparsoustractions....................................................................................................................................................21.4. Additiondedeuxnombresbinaires........................................................................................................................................2

2. Lecodehexadécimal................................................................................................................................................................................32.1. Présentation......................................................................................................................................................................................32.2. Divisioneuclidienne.......................................................................................................................................................................32.3. Tableaudes20premiersnombres..........................................................................................................................................32.4. ConversionHexa/Binaire............................................................................................................................................................3

3. Représentationdesnombresentierssignés.................................................................................................................................43.1. Bitdesigne.........................................................................................................................................................................................43.2. Complémentàdeux........................................................................................................................................................................43.3. Déterminationducodecomplémentà2d’unnombre...................................................................................................4

4. Représentationdesnombresdécimaux..........................................................................................................................................44.1. Nombreàvirgulefixe....................................................................................................................................................................44.2. Nombreàvirguleflottante(float)............................................................................................................................................54.3. ConversiondécimalversIEEE754simpleprécision......................................................................................................54.4. ConversionIEEE754simpleprécisionversdécimal......................................................................................................5

5. LecodebinaireBCD.................................................................................................................................................................................56. Lecodebinaireréfléchi(codeGray).................................................................................................................................................66.1. Présentation......................................................................................................................................................................................66.2. Codeurdeposition..........................................................................................................................................................................6

7. LecodeASCII..............................................................................................................................................................................................77.1. Présentation......................................................................................................................................................................................77.2. Tabledes128caractèresASCII.................................................................................................................................................7

Page 2: 2) Numérisation - perso.numericable.frperso.numericable.fr/cira/pdf/Cours/Automatisme/2) Numerisation.pdf · Automatismes - Chap 2) 2) Numérisation 1. ... • La mantisse sur les

Page 2 sur 7

1. Lecodebinairenaturel

1.1. PrésentationC'estlareprésentationdesnombresentiersavecseulementdeuxchiffres(base2):0et1.UnnombreNquis'écritbnbn-1bn-2....b2b1b0(avecb=0oub=1)vaut: 𝑏"×2""%&

"%' .Ainsi:(0;1;2;3;4;5;6;7...)devient(0;1;10;11;100;101;110;111...)Remarque:Leschiffrescomposantsunnombrebinaires'appellentbit.

1.2. ConversionpardivisionseuclidiennesIls’agitdediviserrécursivementlenombreNpar2etdeconsidérerlesrestes.76 2

Onadonc76=1001100(2)

Vérification:

1×2) + 0×2, + 0×2- + 1×2. + 1×20 + 0×21 + 1×2' = 64 + 8 + 4 = 76

0 38 2 0 19 2 1 9 2 1 4 2 0 2 2 0 1 2 1 0

1.3. ConversionparsoustractionsIls’agitdesoustrairerécursivementaunombreNlapuissancede2immédiatementinférieure.

76

76=1001100(2)

- 64

27 26 25 24 23 22 21 20 12

128 64 32 16 8 4 2 1 - 8 ↓ ↓ ↓ 4 0 1 0 0 1 1 0 0 - 4 0

1.4. AdditiondedeuxnombresbinairesOnprocèdecommeaveclesnombresdécimaux.Ilsuffitdemettrelesdeuxnombresl'unau-dessusdel'autre,etonfaitl'additionbitàbit.Attention,ilnefautpasoublierlaretenue.

1 1 1 1 1 0 1 1 0 1 1 0+ 0 1 0 1 1 1 0 1 1 0 0 1 0 0

Lesnombresentiersdanslesappareilsnumériquessontreprésentésavecunnombrenlimitédebits(généralement16ou32).Donc,onnepourrareprésenterquelesnombrescomprisentre0et2n-1.Attention:silesnombressontcodéssur8bits,11111111+1=0!Ilyadébordement.

Page 3: 2) Numérisation - perso.numericable.frperso.numericable.fr/cira/pdf/Cours/Automatisme/2) Numerisation.pdf · Automatismes - Chap 2) 2) Numérisation 1. ... • La mantisse sur les

Page 3 sur 7

2. Lecodehexadécimal

2.1. PrésentationLareprésentationbinairedesnombresamèneviteàdesreprésentationsdenombretrèslongue.

1024=10000000000(2)Poursimplifierlareprésentationdesnombrestoutenserapprochantdelareprésentationbinaire,onutiliselareprésentationhexadécimale.C'estlareprésentationdesnombresavec16chiffres(base16):0123456789ABCDEF.UnnombreNquis'écrithnhn-1hn-2....h2h1h0(avech=0ouh=1)vaut: ℎ"×16""%&

"%' .Ainsi:1024=400(16)Remarque:Enbase16unnombreestreprésentéavec4foismoinsdechiffresqu'enbase2.

2.2. DivisioneuclidienneIls’agitdediviserrécursivementNpar16etdeconsidérerlesrestes.76 16 -64 4 16 12 -0 0 4 76=4x16+12 76=4C(16)

2.3. Tableaudes20premiersnombres

Décimal Binaire Hexadécimal Décimal Binaire Hexadécimal0 0000 0 10 1010 A1 0001 1 11 1011 B2 0010 2 12 1100 C3 0011 3 13 1101 D4 0100 4 14 1110 E5 0101 5 15 1111 F6 0110 6 16 10000 107 0111 7 17 10001 118 1000 8 18 10010 129 1001 9 19 10011 13

2.4. ConversionHexa/BinaireComme16=24,latechniqueconsisteàgrouperlesbitsparquatreetd'utiliserletableauci-avant.Exemple:

0011 1010 1100 0111 (2)

3 A C 7 (16)

Page 4: 2) Numérisation - perso.numericable.frperso.numericable.fr/cira/pdf/Cours/Automatisme/2) Numerisation.pdf · Automatismes - Chap 2) 2) Numérisation 1. ... • La mantisse sur les

Page 4 sur 7

3. Représentationdesnombresentierssignés

3.1. BitdesignePourcompléterlareprésentationdesentiers,ilfautpouvoirécriredesentiersnégatifs.Onajoutepourcelaàlareprésentationunbitdesigne,placéentête.Unbitdesigne0indiqueunevaleurpositive,unbitdesignepositionnéà1unevaleurnégative.Cetterèglepermetderestercohérentaveclesystèmedereprésentationdesentierspositifs:ilsuffitd'ajouterun0entêtedechaquevaleur.

• 00000111(bitdesigne-8bits)=+7;• 10000111(bitdesigne-8bits)=-7;

Cecoden’estpasutiliséparlemicroprocesseurcarlasommed’unechiffrepositifetdumêmechiffremaisnégatifnedonnepas0.

3.2. ComplémentàdeuxFinalement,ilfautqueN+(-N)=0000.C'estlenombrequel'onappellelecomplémentà2.Exemple:

1 1 1 1 1 1 1 1 0 0 0 0 # 0 1 1 1+ 1 1 1 1 1 0 0 11 0 0 0 0 0 0 0 0

Ainsi,11111001(C2-8bits)=-7Commeprécédemment,lesnombresdébutantsparun1,sontnégatifs.

3.3. Déterminationducodecomplémentà2d’unnombrePourobtenirlareprésentationd’unnombreNencodecomplémentà2surnbits:

• SilenombreNestpositif,ilsuffitdeleconvertirNennombrebinaire;• SilenombreNestnégatif,ilsuffitdeleconvertir2n+Nennombrebinaire.

Remarque:Avecnbits,cesystèmepermetdereprésenterlesnombrescomprisentre-2n-1et2n-1-1.

4. Représentationdesnombresdécimaux

4.1. NombreàvirgulefixeCommeladéfinitiondesnombresbinairesnaturels,onpeutdéfinirunnombredécimalpositifparuneconventiondumêmetype,lavirguleétantplacéeàunendroitfixe:

1010,1010(2)=23+21+2-1+2-3=8+2+0,5+0,125=10,625Danslesensinverse,prenonsN=6,625.Pourlapartieavantlavirgule,ilsuffitdefairecommedansleparagraphe1→6=0110(2)Pourlapartieàaprèslavirgule,fairecommesuit:

• 0,625×2=1,25:jepose1etjeleretranche→6,625=0110,1(2)

• 0,25×2=0,5:jepose0etjeleretranche→6,625=0110,10(2)

• 0,5×2=1:jepose1etjeleretranche→6,625=0110,101(2)

• 0×2=0:jepose0etjeleretranche→6,625=0110,1010(2)

Avecnotrecodagesur8bits→6,625=0110,1010(2).Remarque:Cecodageesttrèspeuutilisé,ilnepermetpasd'avoirunegrandrapportNmax/Nmin.

Page 5: 2) Numérisation - perso.numericable.frperso.numericable.fr/cira/pdf/Cours/Automatisme/2) Numerisation.pdf · Automatismes - Chap 2) 2) Numérisation 1. ... • La mantisse sur les

Page 5 sur 7

4.2. Nombreàvirguleflottante(float)LanormeIEEE754définielecodedereprésentationd'unnombredécimalsur32bits(single)avectroiscomposantes:

• Lesigneestreprésentéparunseulbit,lebitdepoidsfort(celuileplusàgauche);• L'exposantestcodésurles8bitsconsécutifsausigne;• Lamantissesurles23bitsrestants.

SigneS ExposantE MantisseM1bit 8bits 23bitsb bbbbbbbb bbbbbbbbbbbbbbbbbbbbbbb

Ona:N=(-1)S×2E-127×1,M

• Signe=1:nombrenégatif;• L'exposant0estinterdit;• L'exposant255estinterdit.Ons'enserttoutefoispoursignalerdeserreurs,onappellealorscette

configurationdunombreNaN,cequisignifie'NotaNumber'.

4.3. ConversiondécimalversIEEE754simpleprécisionRiennevautunexemple,doncprenonsN=-6,625.

• Signenégatif=>signe=1;• Onutiliselaméthodedelavirgulefixe:6,625=110,101(2)• 110,101(2)=1,10101(2)×22→exposant=127+2=128+1=10000001(2)

SigneS ExposantE MantisseM1bit 8bits 23bits1 10000001 10101000000000000000000

4.4. ConversionIEEE754simpleprécisionversdécimalSoitN=11000010011010000000000000000000(float32)

• (Signe):(-1)1=-1;S=-1.• (Exposant):10000100(2)=128+4=127+5;E=5.• N=(-1)×1.1101(2)×25=(-1)×111010(2)=(-1)×(25+24+23+21)=(-1)×(32+16+8+2)=-58.

5. LecodebinaireBCDIlsuffitderemplacerchaquechiffredécimalparsonimagebinairedequatrebits.Exemple:

0001 0010 1000 0111 (BCD)1 2 8 7 (10)

Page 6: 2) Numérisation - perso.numericable.frperso.numericable.fr/cira/pdf/Cours/Automatisme/2) Numerisation.pdf · Automatismes - Chap 2) 2) Numérisation 1. ... • La mantisse sur les

Page 6 sur 7

6. Lecodebinaireréfléchi(codeGray)

6.1. PrésentationC’estuncodagequialaparticularitédenechangerqu’unbitlorsdupassaged’unevaleuràsasuivante.Deplus,onopèredetellemanièrequelebitmodifiésoitd'unpoidsleplusfaiblepossible.Laconstitutiondecettetableréclamel’exercicesuivant:

• Écrirelesdeuxpremièresvaleurs:0et1;• Ajouter1devantlesdeux1suivants;• Paruneffetmiroironcomplètelespremiersbits;• Ajouter1devantlesquatre1suivants;• Paruneffetmiroironcomplètelespremiersbits;• Etc...

Ainsi:(0;1;2;3;4;5;6;7...)devient(000;001;011;010;110;111;101;100...)

6.2. CodeurdepositionCecodeestsurtoututilisépourdescapteursdepositionsabsolue,commelesrèglesoptiques.Ilpermetunerésolutiondoubledelarègleaveclamêmeprécisiondegravure.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CODEGRAY

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CODEBINAIRENATURELLE

DECIMAL GRAY 0 0

↓↓

1 12 1 1

↑3 1 04 1 1 0

↑5 1 1 1 6 1 0 1 7 1 0 0

Page 7: 2) Numérisation - perso.numericable.frperso.numericable.fr/cira/pdf/Cours/Automatisme/2) Numerisation.pdf · Automatismes - Chap 2) 2) Numérisation 1. ... • La mantisse sur les

Page 7 sur 7

7. LecodeASCII

7.1. PrésentationLanormeASCII(AmericanStandardCodeforInformationInterchange«Codeaméricainnormalisépourl'échanged'information»)estlanormedecodagedecaractèreseninformatiquelaplusconnueetlapluslargementcompatible.C'estégalementlavarianteaméricaineducodagedecaractèresISO/CEI646.ASCIIcontientlescaractèresnécessairespourécrireenanglais.Elleaétéinventéeparl'américainBobBemeren1961.ElleestàlabasedenombreusesautresnormescommeISO8859-1etUnicodequil'étendent.L'ASCIIdéfinit128caractèresnumérotésde0à127etcodésenbinairede0000000à1111111.SeptbitssuffisentdoncpourreprésenteruncaractèrecodéenASCII.Toutefois,lesordinateurstravaillantpresquetoussurhuitbits(unoctet)depuislesannées1970,chaquecaractèred'untexteenASCIIeststockédansunoctetdontle8ebitest0.Lescaractèresdenuméro0à31etle127nesontpasaffichables;ilscorrespondentàdescommandesdecontrôledeterminalinformatique.Lecaractèrenuméro32estl'espace.Lesautrescaractèressontleschiffresarabes,leslettreslatinesmajusculesetminusculesetquelquessymbolesdeponctuation.(D'aprèsWIKIPEDIA)

7.2. Tabledes128caractèresASCII

0 1 2 3 4 5 6 7 8 9 A B C D E F0 EOT BEL BS LF FF CR 1 ESC 2 SP ! # $ % & ' ( ) * + , - . /3 0 1 2 3 4 5 6 7 8 9 : ; < = > ?4 @ A B C D E F G H I J K L M N O5 P Q R S T U V W X Y Z 6 a b c d e f g h i j k l m n o7 p q r s t u v w x y z { | } DEL

LF=LineFeed,FF=FormFeed,CR=CarriageReturn,BS=BackSpace,ESC=Escape,DEL=Delete,SP=Espace…Cetableaun’estpasàapprendreparcœurilesttoutefoistroispointsderepèresimples:

• Lezéroestcodé30(16)etlesautreschiffressuivent;• Le«A»estcodé41(16)etlesautreslettressuivent;• Le«a»estcodé61(16)etlesautreslettressuivent.

Cettefaçondecoderleslettresn’estpasanodine.Ellepermet,parexemple,leclassementalphabétiquecarlecodagedeAestunnombreinférieuràceluiquicodeBdoncestclasséavant.