Вы находитесь на странице: 1из 18

13/03/2013

NF92
Reprsentation des
nombres, conversion et
caractres

Plan
Reprsentation des nombres et concepts
Principes de conversion
Bits, horloge, discrtisation,
chantillonnage et binarisation
Notion de mmoire
Conventions/formats de reprsentation
Codage des caractres
Arithmtique
2

13/03/2013

Reprsentation de nombres

Exemple : romains
Les signes utiliss sont : (I, V, X, L, C, D, M)
I vaut 1, V vaut 5, X vaut 10, L vaut 50, C vaut 100, D
vaut 500, M vaut 1000
Lettre dunit : I est une unit pour V et X, X est une
unit pour L et C, C est une unit pour D et M.
Numrotation par position :
Toute lettre place la droite dune autre figurant une valeur suprieure
ou gale la sienne sajoute celle-ci.
Toute lettre dunit place immdiatement la gauche dune lettre plus
forte quelle, indique que le nombre qui lui correspond doit tre
retranch au nombre qui suit.
Les valeurs sont groupes en ordre dcroissant, sauf pour les valeurs
retrancher selon la rgle prcdente.
La mme lettre ne peut pas tre employe quatre fois conscutivement
sauf M.

Exemple : MCMLXIV = ?

13/03/2013

Concepts pour une base B rgulire


quelconque
Signe et ses glyphes
Valeur numrique associe pour chaque signe
Pour un nombre de n chiffres (digits), les
positions sont numrots de la droite vers la
gauche de la valeur 0 la valeur n-1
A un chiffre de rang a correspond le coefficient
multiplicateur (B)^a
Ex :
base 10
signes/valeurs {0,1,2,3,4,5,6,7,8,9}
2734 = 2*1000+7*100+3*10+4*1
5

Principes de conversion

A 0 on arrte.
A 0 on arrte.

13/03/2013

Conversions

Base
Base
Base
Base
Base
Base
Base
Base
Base

10 vers base 2
2 vers base 10
10 vers base 8
8 vers base 10
10 vers base 16
16 vers base 10
2 vers base 8 et 16
8 vers base 2 et 16
16 vers base 2 et 8
7

Bit & horloge


Unit de base dans linformatique
Binary digit
Impossibilit de fabriquer une machine trois
(ou plus) tats stables

Toute opration dans lordinateur se fait


sur un top dhorloge

13/03/2013

Discrtisation & chantillonnage


Signal chantillonn et discrtis

Amplitude

Temps

Binarisation
Dcimal

Binaire

10

11

100

101

Suite originale
Suite binarise

0
0

Rsultat

00110101111101

0
0

1
1

2
10

2
10

3
11

3
11

2
10

1
1

Impossible de revenir loriginal : 11 c'est 1 puis 1 ou bien 11 ?


10

13/03/2013

Binarisation : format et correction


Dcimal

Binaire

000

001

010

011

100

101

Mots de la mme longueur p


Ici p=3
Chaque nombre est reprsent comme
une srie de p bits
Essentiel : p doit toujours tre connu
P limite la valeur max. quon peut
reprsenter 2p-1
2
2
3
1
3
2
001 010 010 011 011 010

Suite originale
Suite binarise

0
000

Rsultat

000000001010010011011010001

0
000

1
01

Si l'on sait que p=3, c'est facile d'extraire les groupes de bits conscutifs
11

Numrisation d'image
Mmoire
1 1 1 1 1 1

1 1

1 1 1 1 1 1

1 1

1 1 0 0 0 0

1 1

1 1 0 0 0 0

1 1

1 1 1 1 1 1

1 1

Pour numriser une image N&B


on "place" une grille
en fonction de la couleur de la case on met la valeur 0 ou 1

12

13/03/2013

Numrisation d'image : problme


Original

Mmoris
1 1 1 1 1 1

Affich

1 1

1 1 ? 0 0 ?

1 1

1 ? 0 0 0 0

1 1

1 1 ? 0 0 ?

1 1

1 1 1 1 1 1

1 1

Comment numriser les zones mixtes?


Affiner la grille de numrisation
Introduire les nuances de gris
Introduire la couleur

Consquence systmatique :
Perte de la continuit (finesse) par la numrisation!
13

Donc
les signaux/informations prsents dans
l'ordinateur sont plus ou moins loigns de la
ralit
augmentation du "nombre de points"
d'chantillonnage et de discrtisation permet
d'y pallier partiellement

14

13/03/2013

Notion de mmoire
Un espace de mots
p

Mot : une suite de bits de


longueur p (tous la mme)

Chaque mot se trouve un


endroit spcifique
Adresse : la position du mot
par rapport au dbut de la
mmoire

Taille de mmoire
Nombre de mots
taille de mots (p)

(2m-1)

2m-1

fois

Contenu

Adresse

15

Mmoire : exemple
Suite originale
Rsultat

000 000 001 010 010 011 011 010 001


Sous condition que p=3
0
0
0
0
0
0
0
0
0

0
0
0
1
1
1
1
1
0

Contenu

0
0
1
0
0
1
1
0
1

0
1
2
3
4
5
6
7
8

Adresse
16

13/03/2013

Mmoire : ATTENTION
La mmoire nest jamais vide :
Il y a toujours des 0 et des 1 dedans
Consquence : ne jamais utiliser le contenu dun mot
mmoire sans lavoir pralablement
initialis correctement

17

La suite du cours : conventions/formats de


reprsentation en binaire et addition

Reprsentation de nombres
Entiers positifs (dj vu avant)
Entiers ngatifs (suite)
Virgule fixe (suite)
Virgule flottante (suite)

Addition en binaire : que vaut 1010+111 ?


Soustraction en binaire : que vaut 1010111 ? et que vaut 111 1010 ?
18

13/03/2013

Nombres ngatifs
le - (moins) n'existe pas en informatique
Solution 1 : utiliser un bit de signe (0 si positif, 1 si
ngatif par exemple)
Bit de signe
Nombre sur 3 bits

Comment reprsenter sur 4 bits: 10, -2 ?


Problmes : deux zros et comment faire les calculs
Combien vaut 2+(-3) ? -> addition binaire usuelle

Solution 2 : reprsentation complmente la base


plus 1

19

Solution 2 : (complmentation 2) + 1

Imprativement un nombre p fixe de bits


Soit a un nombre binaire positif, on a :
a + (2p) - a = (2p) c'est normal non ?
(2p) est cod sur p+1 positions
exemple p = 4, 2p = 10000 = 24 = 16 en base 10
si on "oublie" le bit de rang p+1 alors on peut
poser (2p) = 0
il vient : a a = 0
OUI MAIS (a) est en fait cod (2p) - a
20

10

13/03/2013

Solution 2 : (complmentation 2) + 1
Donc sur p positions a a = 0 (on oublie (2p))
sachant que (a) est cod en fait (2p)-a
(on insiste)
Pour calculer rapidement (2p)-a c'est facile :
on complmente 2, les 0 deviennent des 1 et les 1
deviennent des zros, puis on ajoute 1 au rsultat
exemple 1 : p=4, et a = 01002 = 410 la
complmentation donne 1011, not aussi a auquel
on ajoute 1 et on obtient 1100 : c'est le codage de
(a) c--d de (-4)10
21

Solution 2 : (complmentation 2) + 1
en effet 24 = 10000 c'est 11112 + 12 = 1510 + 110
donc 1111 0100 c'est bien 1011 (les 0 deviennent
des 1 et les 1 deviennent des zros)

22

11

13/03/2013

Solution 2 : (complmentation 2) + 1

exemple 2 : p = 3 et b = 011 c--d + 3 en base 10


la complmentation de b donne 100
nous ajoutons 1, il vient 101
101 est le codage de -3 en complmentation 2

SUR 3 POSITIONS !
ATTENTION : cela ne fonctionne que pour p fix

il faut coder tous les nombres sur p positions


23

Solution 2 : (complmentation 2) + 1
table de codage pour p = 3 positions :
binaire naturel complment 2

codage nombres
positifs ou nul

codage nombres
ngatifs

-4

-3

-2

-1
24

12

13/03/2013

Solution 2 : (complmentation 2) + 1
Sur p positions la moiti des codages possibles
corresponds des nombres positifs ou nul
l'autre moiti des codages possibles corresponds aux
nombre ngatifs
CONCLUSION : on code sur
l'intervalle : [-2(p-1), + 2(p-1)-1]
utilit pour addition/soustraction :

101 + 010 = 111 car -3+ 2 = -1


110+111=1101 car -2 + -1 = -3 (on oublie, rappelez-vous)
001 + 010 = 011 car 1 + 2 = 3
attention : 011 + 011 = 110 car 3+3=6 MAIS 6 impossible
(flag overflow sur le micro processeur)

25

Que faire entre 0 et 1 ?


(retour sur les conversions)
Partie fractionnaire en binaire ?
Le nombre est exprim en puissances
ngatives de 2
20
2-1
2-2
2-3

1
0.5
0.25
0.125

exemple : (0.625)10=0.5+0.125=(0.101)2
26

13

13/03/2013

Exemple : 0,347

http://pagesperso-orange.fr/arsene.perez-mas/numeration/reels.htm
http://www.iut-info.univ-lille1.fr/~place/ASR1/Cours-ASR1-Codage.pdf

problme : erreur de reprsentation


exemple avec 1/3 en base 3 et en base 10
27

Nombres (rels) virgule fixe


La virgule n'existe pas
rservation de places

Partie entire
sur 3 bits
Bit de signe

Partie fractionnaire
sur 4 bits

Problme : Compromis entre l'tendu et la


prcision
28

14

13/03/2013

Nombres (rels) virgule flottante


La virgule n'existe pas
rservation de places

Mantisse
sur 3 bits
Bit de signe

Exposant
sur 4 bits

Exemple : 1, 2, 3, 2.2, 0.5, 16, 17


Problme : chelle rsolution variable
29

IEEE 754
Un format standardis pour reprsenter des nombres
Formats de nombres flottants :
32 bits : 1 bit de signe, 8 bits d'exposant (-126 127), 23 bits de
mantisse
64 bits : 1 bit de signe, 11 bits d'exposant (-1022 1023), 52 bits
de mantisse
80 bits : 1 bit de signe, 15 bits d'exposant (-16382 16383), 64
bits de mantisse

Les quatre modes d'arrondi :

Vers moins l'infini


Vers plus l'infini
Vers zro
Au plus proche
30

15

13/03/2013

codage des caractres


65 41 101 A A
Adresse
0
00h

Mmoire
0
0

=(01000001)2
0

Contenu
1
A

01h

02h

03h

04h

Pour afficher un char. :


Lire loctet ladresse
Le traduire en le
comparant avec la table
ASCII
Afficher le caractre
Lire loctet suivant

05h
Attention: Cest vous de lui
dire comment interprter
loctet!

FFh

31

ASCII
American Standard Code for Information Interchange
Le code ASCII de base reprsentait les caractres sur 7
bits (c'est--dire 128 caractres possibles, de 0 127)
0 31 ne sont pas des caractres -> caractres de contrle (actions)

retour la ligne (CR)


Bip sonore (BEL)
65 90 - majuscules
97 122 - minuscules
(Il suffit de modifier le 6me bit pour passer de majuscules
minuscules, c'est--dire ajouter 32 au code ASCII en base
dcimale.)
32

16

13/03/2013

Table des codes ASCII

33

Reprsentation du texte
Chaque caractre est reprsent comme
un numro -> codage
Plusieurs codages existent

ASCII (7 ou 8 bits)
Unicode (16 bits, usage multilingue), utf8, utf16, utf32
EBCDIC (8 bits)
iso 8859-1 15

34

17

13/03/2013

Arithmtique
Soustraire cest additionner, retour sur la
complmentation la base +1
Multiplication dun nombre entier en base 10
par 10 puis en binaire par 2
Division dun nombre entier (en binaire) par 2
Alignement de mantisse en base 10
Alignement de mantisse en base 2
Multiplication en base 10
Multiplication en base 2
Division en base 10
Division en base 2
35

36

18