• Aucun résultat trouvé

Représentation des informations

N/A
N/A
Protected

Academic year: 2022

Partager "Représentation des informations"

Copied!
13
0
0

Texte intégral

(1)

Représentation des informations

A. MARTIN

Stanislas - PCSI1

Février 2014

1 / 50

PLAN

1 Numération

Bases de numération Changement de base Opérations arithmétiques Choix de la base 2

2 Eléments d’architecture logique Le transistor

Eléments de combinatoire Mémoriser : circuits séquentiels

3 Représentation des nombres entiers Entiers naturels

Entiers relatifs Notion de type

Dépassement de capacité

4 Nombres à virgule (flottante)

Arithmétique flottante (IEEE 754) Dépassement de capacité

Précision et arrondis

5 Représentation d’autres informations : caractères, sons, images Caractères

Son, images

2 / 50

Introduction -

Quelles informations en machine ? Comment ?

Calculer⇒représenter des nombres entiers naturels

entiers relatifs

réels à virgule et nombre fini de décimales (décimaux) ⇔ sous-ensemble deQ

Mémoire de taille finie⇒pas de nombres irrationnels ou rationnels non décimaux.

Autres tâches - autres informations

textes ⇒ caractères sons

images

Codage(s) : une information ⇔ un nombre

L’ordinateurs étant au départ conçu pour manipuler des nombres, on cherchera à tout représenter par des nombres

⇒ nécessité d’un (ou plusieurs) codage(s).

Support pour enregistrer les nombres en mémoire : circuits électroniques

3 / 50

Numération

1 Numération

Bases de numération Changement de base Opérations arithmétiques Choix de la base 2

2 Eléments d’architecture logique

3 Représentation des nombres entiers

4 Nombres à virgule (flottante)

5 Représentation d’autres informations : caractères, sons, images

4 / 50

(2)

Numération Bases de numération

Bases de numération -

Définitions Définition: Base B

X =anBn+an−1Bn−1+· · ·+a0B0+a−1B−1+a−mB−m =

n

X

i=−m

aiBi

Représentation : X = (anan−1. . .a0,a−1. . .a−m)B Partie entière de X : (anan−1. . .a0)B

Partie décimale de X : (a−1. . .a−m)B Bases courantes

Base Système chiffres nombres

10 décimal (arabes) ai ∈ {0,1, . . . ,9} 123,45

2 binaire (bits)ai ∈ {0,1} −101,00112

16 hexadécimal ai ∈ {0,1,2, . . .9,A,B,C,D,E,F} 5A5,FC2

5 / 50

Numération Changement de base

De la base B à la base 10

Représenter en base 10 un nombre en baseB transcrire les chiffres en base 10

si binaire : 00, 11;

si hexadécimal :

00, . . . ,A10,B11, . . .;

appliquer la définition de la décomposition, calculer en décimal.

Exemple

101,00112 = 1×22+0×21+1×20+. . .

0×2−1+0×2−2+1×2−3+1×2−4

= 5,187510

à compléter...

6 / 50

Numération Changement de base

De la base 10 à la base B -

Détermination de la partie entière

Méthode

Effectuer des divisions euclidiennes successives dans les entiers;

Ecrire de gauche à droite la suite des restes du dernier au premier.

Exemple : écriture de 14510en base 10, 2, ou 16.

en base 10... Résultat :

14510 = 100100012

= 9116

Remarque : passage facile en héxadécimal en groupant les bits par quartet de droite à gauche (car 24 =16) : (1001

| {z }

916

0001

| {z }

116

)2

7 / 50

Numération Changement de base

De la base 10 à la base B -

Détermination de la partie décimale

Méthode 1

Multiplier successivement parB puis relever et retrancher la partie entière.

Exemple : passage de 0,145 en base 2 puis base 16.

Attention : peut conduire à une infinité de chiffres ds la nvelle base !

Méthode 2

Imposer le nombre de Chiffre Significatif (CS)m souhaité puis multiplier la partie décimale par Bm, puis coder sa partie entière.

Exemple : 8 CS en base 2, ou 2 CS en base 16 (même précision).

0,145×28 =37,12 puis 3710=001001012 donc 0,145≈0,001001012 0,145×162 =37,12 puis 3710=2516donc 0,145≈0,2516

8 / 50

(3)

Numération Opérations arithmétiques

Opérations arithmétiques -

Exemple en binaire

Opérations +,−, ×et/

Mêmes algorithmes / techniques de calcul qu’en base 10.

Penser aux retenues : +1 (additions) ou−1 (soustractions) Exemple : soient a=1010=10102 etb=710=1112

a+b :

a+b=1710=100012

a×b :

a×b=7010=10001102

9 / 50

Numération Choix de la base 2

Quelle base choisir pour l’ordinateur ?

Base 10 : une base pour les humains plus facile de compter sur ses doigts !

Base 16 : une base pour condenser l’écriture (binaire/4)

Transmettre des "mots" très longs (ex: clés de sécurité, adresses MAC; ...).

Base 2 : une base pour les machines

Des perturbations physiques s’ajoutent au signal : fluctuations naturelles dues au bruit, ou perturbations exceptionnelles (choc, ...).

⇒Erreurs possibles lors du stockage, de la lecture ou de la transmission.

⇒nécessité d’augmenter la robustesse.

Système analogique: un infinité d’états ⇒transformation / dégradation inéluctable de l’information ⇒manque de fiabilité.

Système discret multi-états ⇒risque fortd’erreur.

Système discret à deux états ⇒risque faibled’erreur.

10 / 50

Numération Choix de la base 2

La base 2 en machine -

Mots binaires

Mots binaires : des nombres à taille fixe pour le processeur et la mémoire 8 bits = 1 Octet (Byte). 28 =256 possibilités.

Ex: caractère alphanumérique (ISO-8859), palette de couleurs / niveaux de gris.

32 bits⇒232≈ 4 milliards de possibilités.

Ex: nombres entiers relatifs,...

64 bits⇒264≈ 2×1019 possibilités.

Ex: codage des nombres réels en virgule flottante (norme IEEE 754).

Machines 64 bits : le format d’aujourd’hui et de demain !

Remarque : certains types de données nécessitent une agrégation de ces types simples (ex: tableaux, listes, ensembles, dictionnaires,...).

Bit de poids fort ou faible (MSB: Most Significant Bit, LSB: Least...) ( 1

|{z}

27:fort

0 1 0 0 0 1 1

|{z}

20:faible

)2

11 / 50

Numération Choix de la base 2

La base 2 en machine

Multiples- en octets (Bytes, B) plutôt qu’en bits (b): 1 B=8 b

Nom Notation Valeur kibibit Kibit 210=1024 b kilobit kbit 103 =1000 b

mebioctet MiB 220=10242 =1 048 576 B megaoctet MB 106 =1 000 000 B

gebioctet GiB 230=10243 =1 073 741 824 B gigaoctet GB 109 =1 000 000 000 B

tebioctet TiB 240=10243 =1 099 511 627 776 B teraoctet TB 1012=1 000 000 000 000 B

1 bit est un booléen : (0,1)↔(Vrai,Faux)

La manipulation des nombres en binaire s’exprime via l’algèbre de Boole.

⇒le microprocesseur est un assemblage de PORTES LOGIQUES.

12 / 50

(4)

Eléments d’architecture logique

1 Numération

2 Eléments d’architecture logique Le transistor

Eléments de combinatoire Mémoriser : circuits séquentiels

3 Représentation des nombres entiers

4 Nombres à virgule (flottante)

5 Représentation d’autres informations : caractères, sons, images

13 / 50

Eléments d’architecture logique Le transistor

Le transistor -

la brique de base

Transistor : double jonction de semi-conducteurs dopés N et P

La tension appliquée entre laGrilleet laSource commandele passage du courant entre le Drainet la Source.

Deux états,passantou bloqué, selon que la tension est positive ou nulle.

Transitors MOS de type N (gauche) et P (droite)

formation d’un tunnel dans le N-MOS

Etat PASSANT

14 / 50

Eléments d’architecture logique Eléments de combinatoire

Algèbre de Boole et portes logiques

Théorèmes de Morgan : A.B=A+B et A+B =A.B Transformer les ET en OU et vice-versa.

⇒ Le couple (ET, NON) ou le couple (OU, NON) suffisent donc à exprimer n’importe quelle formule algébrique combinatoire.

Opérateur complet

Opérateur qui permet à lui seul d’exprimer n’importe quelle fonction combinatoire.

Porte logique=Circuit combinatoire

Circuit tel que l’état des sorties ne dépend que de l’état des entrées.

Les mêmes entrées conduisent toujours aux mêmes sorties : absence d’état interne.

15 / 50

Eléments d’architecture logique Eléments de combinatoire

Portes logiques

Porte NON(NOT) :A

Porte NON-OU (NOR) -A+B : Opérateur complet Permet en effet de former un NOT en reliant ses deux entrées.

16 / 50

(5)

Eléments d’architecture logique Mémoriser : circuits séquentiels

Mémoire (vive) -

Des circuits séquentiels

Définition: Circuit séquentiel

Circuit dont les valeurs de ses sortiesne dépendent pas que des valeurs de ses entrées, mais aussi d’un état internequi dépend de l’historiquedes valeurs d’entrées précédentes.

état interne = bit d’information

Mémoire vive DYNAMIQUE

état interne : charge d’un condensateur A: ligne de commande, B: ligne de donnée A=0⇒isolement, A=1⇒lecture ou écriture Mémoire vive STATIQUE(portes logiques)

Etat interne = sortie d’une porte logique

Nécessité d’unREBOUCLAGEde certains signaux de sortie vers l’entrée.

17 / 50

Eléments d’architecture logique Mémoriser : circuits séquentiels

Mémoire (vive) -

La bascule RS (ou verrou RS)

La cellule mémoire statique la plus simple : La bascule RS (Reset Set) 2 portes NOR tête-bêche

circuit bistable: 2 états stables en sortie (Q,Q) = (0,¯ 1) ou(1,0) 2 entrées : R (Reset) etS (Set)

Fonctionnement

mode lecture : (R,S) = (0,0) Enregistrer 0 :

R →1→0⇒(Q,Q) = (0,¯ 1) Enregistrer 1 :

S →1→0⇒(Q,Q) = (1,¯ 0) Etat interne = bit mémorisé (Q ouQ)

18 / 50

Représentation des nombres entiers

1 Numération

2 Eléments d’architecture logique

3 Représentation des nombres entiers Entiers naturels

Entiers relatifs Notion de type

Dépassement de capacité

4 Nombres à virgule (flottante)

5 Représentation d’autres informations : caractères, sons, images

19 / 50

Représentation des nombres entiers Entiers naturels

Entiers naturels

Principe: nombre représenté en base 2 sur N bits Exemple : n=14510

sur un octet (N =8) : 14510=100100012 sur N =16 bits : 14510=00000000100100012

sur N =4 bits : impossible ! (24=16 possibilités<145+1) Capacité : 2N nombres entiers n∈[0;2N−1]

sur N =8 bits : 0 à 255 sur N =16 bits : 0 à 65535 sur N =32 bits : 0 à 4294967295

sur N =64 bits : 0 à 18446744073709551615

20 / 50

(6)

Représentation des nombres entiers Entiers relatifs

Entiers relatifs -

Magnitude signée

Principe (surN bits)

bit de poids fort pour le signe : 0=positif, 1=négatif N−1 bits pour la valeur absolue ("magnitude") Capacité : n∈[−(2N−1−1);2N−1−1]

Exemple: N =8 bits +2510=000110012

−2510=100110012 n∈[−127;127]

Inconvénients

Existence de deux zéros : 000000002 =100000002

Les opérations de base entre deux nombres ne sont plus élémentaires

21 / 50

Représentation des nombres entiers Entiers relatifs

Entiers relatifs -

Complément à 2

Principe: représenter les nombres négatifs par des nombres positifs...

nombres positifs : n∈[0;2N−1−1]

nombres négatifs : bijection / translation

[−2N−1;−1] → [2N−1,2N−1]

n 7→ n+2N

Exemples

N =4 bits ⇒n∈[−8;7]

N =8 bits ⇒n∈[−128;127]

N =16 bits⇒n∈[−32768;32767]

. . .

22 / 50

Représentation des nombres entiers Entiers relatifs

Entiers relatifs -

Complément à 2

En pratique : 2N+n= (2N−1) +n+1

Base 10 à 2 : −25107→ −25+28 =−25+256=23110=111001112 En base 2 : un nombre négatif s’obtient en ajoutant 1 au complément bit à bita de sa valeur absolue :

+2510=000110012

−2510=111111112000110012+1=111001102+1=111001112 aLecomplément bit à bitest aussi appelécomplément à 1.

Propriétés

Le bit de poids fort indique toujours le signe : 0=positif, 1=négatif.

Le complément à 2 d’un entier positif est lui-même (à condition de ne pas tenir compte de la dernière retenue):

+2510+28 = 000110012+111111112+1=1000110002+1

= (1)000110012 =000110012 = +2510 23 / 50

Représentation des nombres entiers Entiers relatifs

Entiers relatifs -

Complément à 2

24 / 50

(7)

Représentation des nombres entiers Entiers relatifs

Entiers relatifs -

Complément à 2

25 / 50

Représentation des nombres entiers Entiers relatifs

Entiers relatifs -

Complément à 2

Conséquence

On peut incrémenter naturellement/continûment des négatifs aux positifs (respectivement décrémenter des positifs aux négatifs)... à condition de ne pas tenir compte de la dernière retenue (dropping the carry bit)

Une soustraction se calcule comme une addition en prenant la représentation en complément à 2:

n−m=n+ (−m)→n+ (−m+2N) = (n−m) +2N Exemple

5−3=2→01012+11012= (1)00102 =00102=2

26 / 50

Représentation des nombres entiers Notion de type

Notion de type

L’interprétation d’un mot binaire dépend du codage utilisé Entier positif non signé VS entier négatif signé en complément à 2;

1 entier 32 bits VS 2 entiers 16 bits côte à côte;

1 entier VS un réel, un caractère, un objet complexe (liste, vecteur, tableau, dictionnaire, classe . . . )

Conséquence : nécessité de définir des TYPES de données

une méthode de codage associée (ex : magnitude signée sur 32 bits);

un espace mémoire alloué;

Typage dynamique : une spécificité de Python, Scilab, Matlab, . . . L’ordinateur réalise lui-même cette opération de typage «à la volée», lors de l’exécution du code. Le programmeur est déchargé de cette tâche.

plus souple, plus rapide, plus adapté au développement initial;

plus coûteux en mémoire (donc en temps de calcul), plus dangereux (détection des erreurs de type difficile).

27 / 50

Représentation des nombres entiers Dépassement de capacité

Dépassement de capacité (overflow)

Définition: une opération conduit à un nombre non représentable Ex: addition de deux entiersm etn signés en complément à 2 surN bits

m+n≥2N−1 ⇒ dépassement positif;

−2N−1≤m+n<2N−1⇒ résultat correct;

m+n≤ −2N−1⇒ dépassement négatif;

Remarque : jamais de dépassement dansm+n sim n<0.

Exemple : entiers relatif sur N =4 bits ⇒n∈[−8;7] mod 24

7+2=−7 ou −5−4=7 La détectionest parfois possible - Exemple de l’addition

Deux nombres de même signe conduisent à une somme de signe opposé. . . Spécificité de Python

Adaptation du nombre de bits utilisés en fonction de la taille du nombre : type «à géométrie variable» (totalement transparent depuis Python 3).

28 / 50

(8)

Représentation des nombres entiers Dépassement de capacité

Dépassement de capacité -

Exemple à 4 bits

29 / 50

Nombres à virgule (flottante)

1 Numération

2 Eléments d’architecture logique

3 Représentation des nombres entiers

4 Nombres à virgule (flottante)

Arithmétique flottante (IEEE 754) Dépassement de capacité

Précision et arrondis

5 Représentation d’autres informations : caractères, sons, images

30 / 50

Nombres à virgule (flottante) Arithmétique flottante (IEEE 754)

Représenter les réels ?

Les entiers : une infinité discrète

Représentation exacte possible mais sur un intervalle de longueur finie.

Les réels : une infinité continue

Impossibilité de représentation correcte même d’un petit intervalle :

∀(a,b)∈R2\a6=b,∃c ∈R\a<c <b

⇒ Erreurs d’arrondis, de troncature.

Conséquence

On ne peut représenter qu’un sous ensemble de Q: "nombres à virgule"... de taille limitée, et représentable en binaire !

31 / 50

Nombres à virgule (flottante) Arithmétique flottante (IEEE 754)

Nombres à virgule

Rappel : nombres réels envirgule fixe

110,0112 = 1×22+1×21+0×20+0×2−1+1×2−2+1×2−3

= 6,37510

Problème : difficulté pour représenter les nombres très grands (NA) ou très petits (h).

Nombres réels en virgule flottante - (floats,floating point format) Plus de précision . . .

En base 10 :

309963,400=3,09963400×105 En base 2 :

101010,102 = 1,01010102×25 0,00100012 = 1,000112×2−3

32 / 50

(9)

Nombres à virgule (flottante) Arithmétique flottante (IEEE 754)

Nombres flottants (IEEE 754)

Soitx ∈R:

x = (−1)s×M×2E un bit designe s : s =0,1;

unemantisse M : nombre à virgule binaire M∈[1,2[detaille fixée.

Toujours 1 avant la virgulenon codé : M=1,00101f =00101.

unexposant E : entier relatif de taille limitée;

Codé surN bitsen biais:

E [−(2N−11),2N−1]7→e=E+2N−11[0,2N1]

En fait les extrêmesE =−(2N−11)etE=2N−1représentent les situations exceptionnelles : +∞,−∞, NaN, etc.

Double précision

(binary64)

64 bits : (1,11,52) E ∈[−1023,1024]

(exc. −1023 et 1024)

33 / 50

Nombres à virgule (flottante) Arithmétique flottante (IEEE 754)

Nombres flottants (IEEE 754) -

Exemple : formattiny

Format tiny sur 5 bits (1,2,2) Nombres positifs représentables :

0 00 00 → 1,00×2−1 = 0,5 0 00 01 → 1,01×2−1 = 0,625 0 00 10 → 1,10×2−1 = 0,75 0 00 11 → 1,11×2−1 = 0,875 0 01 00 → 1,00×20 = 1 0 01 01 → 1,01×20 = 1,25 0 01 10 → 1,10×20 = 1,5 0 01 11 → 1,11×20 = 1,75

0 10 00 → 1,00×21 = 2 0 10 01 → 1,01×21 = 2,5 0 10 10 → 1,10×21 = 3 0 10 11 → 1,11×21 = 3,5 0 11 00 → 1,00×22 = 4 0 11 01 → 1,01×22 = 5 0 11 10 → 1,10×22 = 6 0 11 11 → 1,11×22 = 7

34 / 50

Nombres à virgule (flottante) Arithmétique flottante (IEEE 754)

Nombres flottants (IEEE 754) -

Exemple : formattiny

Problème 1 : pas de codage pour 0

Solution : réserver 0 00 00 et 1 00 00 pour ±0 (perte de±0,5).

Problème 2 : grand trou autour de 0

Solution : réserver e =0 pour les nombres dénormalisés

⇒ lehidden bit n’est plus 1 mais 0 : M =0, . . ..

35 / 50

Nombres à virgule (flottante) Arithmétique flottante (IEEE 754)

Nombres flottants (IEEE 754) -

Exceptions

Exceptions

Les infinis mathématiques et les résultats indéfinis (NaNa).

aNot a Number

Problème 3 : pas de représentation des exceptions Solution : réserver e=3 pour les exceptions.

Règles de calcul avec les infinis 1

+∞ = +0 , 1

−∞ =−0 , 1

+0 = +∞ , 1

−0 =−∞

36 / 50

(10)

Nombres à virgule (flottante) Arithmétique flottante (IEEE 754)

Nombres flottants (IEEE 754) -

Exemple : formattiny

Interprétation des bits

s e1e0

|{z}e

f1f0

|{z}

f

Exposant représenté : E =e−1 e f x = (−1)s×M×2E

0 0 (−1)s×0

0 6=0 (−1)s×(0.f)×20 0<e <3 (−1)s×(1.f)×2e−1

3 0 (−1)s× ∞

3 6=0 (−1)s×NaN

37 / 50

Nombres à virgule (flottante) Dépassement de capacité

Dépassement de capacité -

Exemple sur 64 bits (1,11,52)

x = (−1)s ×M×2E

Dépassement arithmétique(dépmt par valeurs supérieures -overflow) E >1023=211−1−1

E =1023 etM >1,111. . .1

| {z }

52 bits=1

|x|'10308 ⇒x = (−1)s× ∞

Soupassement arithmétique(dépmt par valeurs inférieures -underflow) E <−1022=−(211−1−2)

(−(211−11)utilisé pr les nb dénormalisés)

E =−1022 etM <0,000. . .0

| {z }

51 bits=0

1

|x|/10−308 ⇒x = (−1)s×0

38 / 50

Nombres à virgule (flottante) Précision et arrondis

Précision et arrondis

Précision relative : dépend du nombre de bits de la mantisse Exemple en 64 bits : 52 bits = 52 chiffres significatifs

M =1,111. . .1

| {z }

52 bits = 1

2 <2⇒ ∆x

x > 2−52

2 =2−53≈10−16

Exemple : absorption lors d’une addition

L’addition requiert deux opérandes de même exposant, sinon on décale la virgule du plus petit nombre

⇒ perte de bits significatifs : 1+2−53=1,0.

Le passage à la base 2 peut occasionner une erreur d’arrondi

Exemple : 0,4 admet un développement infini et périodiquea en base 2. ⇒ 1 + 0.4 - 1 = 0.3999999999999999

a0,410=0,011001100110011. . . 39 / 50

Nombres à virgule (flottante) Précision et arrondis

Précision et arrondis

Opérations courantes+,−,×, / , √ : arrondi "correct"

Exemple (format tiny):

2,0+0,25=2,25 arrondi à 2,0 ou 2,5

Fonctions transcendantales : aucune garantie !

Calcul par approximations polynômiales (dev. lim.) : via des librairies (C), ou directement codées dans l’Unité d’Arithmétique Flottante (FPU).

Exemple (format tiny):

sin(2,0) =0,90929 arrondi vers 0,75 ou 1,5. . .

40 / 50

(11)

Nombres à virgule (flottante) Précision et arrondis

Précision et arrondis -

Conséquences

L’ordre des opérations n’est pas indifférent

L’addition n’est plus associative : x⊕(y ⊕z)6= (x ⊕y)⊕z

La multiplication n’est plus distributive : x⊗(y ⊕z)6=x⊗y ⊕x⊗z) Conséquences pratiques

Il n’est pas possible en général de savoir si un calcul est égal à sa valeur théorique. . . il a de grandes chances de ne pas l’être ! Jamais de test d’égalité sur des flottants: x ==y n’a pas de sens en général.

Préférer un test abs(x −y)< ε, oùεest proche de 0.0, choisi en fonction du problème.

Ecrire leséquations physiques sous forme adimensionnée. . . pour centrer les valeurs dans le domaine des flottants et s’éloigner des limites représentables.

41 / 50

Nombres à virgule (flottante) Précision et arrondis

Précision et arrondis -

Conséquences pour la simulation numérique

Le résultat d’un calcul dépend de nombreux facteurs le (les ) type(s) de schéma(s) numérique(s) choisi(s);

l’ordre des opérations;

la taille mémoire allouée aux variables (ex: 32 ou 64 bits);

du compilateur du code source, du processeur. . . Comment contrôler la machine ?

Problèmes (très) simples : établir des propriétés mathématiques (récurrences, dévpmts limités, espaces vectoriels normés, théorie des EDP, théorie des systèmes dynamiques. . . ).

Problèmes courants (équations multiples, schémas numériques divers mélangés, équations non-linéaires, sensibilité aux conditions initiales. . . ):

contraindre la vérification delois de conservations physiques(ou chimiques. . . ) : masse, matière, charge, énergie, quantité de mouvement, moment cinétique. . .

confrontation avec des données expérimentales (labo, nature).

Le calcul en flottants est une science expérimentale !

42 / 50

Autres informations : caractères, sons, images

1 Numération

2 Eléments d’architecture logique

3 Représentation des nombres entiers

4 Nombres à virgule (flottante)

5 Représentation d’autres informations : caractères, sons, images Caractères

Son, images

43 / 50

Autres informations : caractères, sons, images Caractères

Caractères -

ASCII et variantes

ASCII (1961, American Standard Code for Information Interchange) 128 caractères codés sur 7 bits (les 7 de poids faibles);

Le bit de poids fort (8ème) sert au contrôle de la donnée (bit de parité);

Influence importante sur le développement des langages de programmation (caractères autorisés);

Limitation : absence de caractères accentués.

ISO 8859 (1986)

Extensions régionales du code ASCII pour prendre en compte les caractères spéciaux des différentes langues

15 jeux de 256 caractères codé sur 1 octet. Ex : ISO-8859-1 = latin 1;

Problèmes d’interopérabilité entre les versions, pas toujours compatibles →caractères accentués qui passent mal.

44 / 50

(12)

Autres informations : caractères, sons, images Caractères

Caractères -

Unicode et UTF8

Unicode (1991, UNIversal CODE)

Standard international de codage, permettant des échanges de texte dans différentes langues : donner à tout caractère de n’importe quel système d’écriture un nom et un identifiant numérique (point de code).

245 000 caractères actuellement, la plupart des caractères mondiaux.

Possibilité d’étendre à plus d’un million.

Règles sémantiques variées (ex: écritures de gauche à droite ou droite à gauche).

Plusieurs réalisations pratiques, avec des affectations/tailles mémoire différentes : UTF-8, UTF-16, UTF-32...

Avantage: favorise l’interopérabilité;

Inconvénient: occupe plus de place en mémoire (surtout pour les caractères non latins).

45 / 50

Autres informations : caractères, sons, images Caractères

Caractères -

Unicode et UTF8

UTF-8 (1993, Universal Transformation Format)

8 = nombre minimal de bits pour coder les points de code;

Codage à taille variable pour les caractères;

Parfaitement compatible avec l’ASCII (de base), donc avec de nombreux codes sources;

Très courant (de plus en plus) sur internet (web, mail), et sur les systèmes de fichiers GNU/Linux et Unix;

Pris en charge par défaut par tous les nouveaux protocoles de communication d’Internet qui échangent du texte (et les anciens protocoles sont si possible adaptés pour le prendre en charge : DNS, HTTP, FTP, Telnet et de HTML);

46 / 50

Autres informations : caractères, sons, images Son, images

Sons

Numériser puis stoquer

Conversion Analogique-Numérique :

Echantillonnage : critère de Shannonfe >2fmax;

Quantification : échelle linéaire ou plutôt logarithmique (sensibilité de l’oreille);

Encodage des nombres : brut ou compressé...

Exemple - Qualité CD : fe=44 kHz codé en 16 bits stéréo ⇒172Ko.s−1 CODEC = COder - DECoder

Programme permettant de coder ou décoder un certain format de stockage.

47 / 50

Autres informations : caractères, sons, images Son, images

Sons -

Formats d’encodage

Données brutes (sans ou avec métadonnées)

RIFF, WAV (Windows, métadonnées + DRM), AIFF (Apple). . . Données compressées

sans pertes (réversible) : utiliser la redondance de l’information

⇒ taux de compression→2−3. . .

FLAC (Free Lossless Audio Codec), ALAC (Apple Lossless. . .);

avec pertes (irréversible) : utiliser les caractéristiques de l’oreille humaine (acoustique, psycho-acoustique)

⇒ taux de compression→ 10.

MP3 puis AAC (MP4), WMA, Ogg-Vorbis (libre). . .

48 / 50

(13)

Autres informations : caractères, sons, images Son, images

Images -

Images matricielles

Matrice de points colorés - (bitmap) pixels=pictureelements.

Repose sur le pouvoir de résolution limité de l’oeil;

Codage des couleurs par un ou plusieurs nombres:

Noir et blanc : 1 bits;

Niveaux de gris : 8 bits (256 teintes);

Couleurs : nombre de teintes variable, codage en synthèse additive RVB (ou autre);

Exemples

Non compressé : BMP, TIFF;

Compressé :

Sans pertes (images de synthèse, texte. . . ) : GIF, PNG;

Avec pertes (photographie grand public) : JPEG;

49 / 50

Autres informations : caractères, sons, images Son, images

Images -

Images vectorielles

Ensemble d’objets géométriques

. . . définis par divers attributs (forme, position, couleur).

Avantage : redimensionnable sans perte de qualité.

Inconvénient : ne convient pas (pour l’instant) aux images photographiques ("réelles").

Exemples

(Encapsulated) PostScript, PDF, Adobe Flash, Illustrator, SVG. . .

50 / 50

Références

Documents relatifs

À partir de la modélisation de la question 5 et du document 4, expliquer pourquoi les enfants d’une couple possèdent un ensemble de caractères héréditaires uniques et différents

- passer d'une chaîne de caractères entrée au clavier pour représenter un nombre entier, et la convertir dans le format binaire que comprend l'ordinateur, en passant par

On met l'accent dans cet exemple sur le fait qu'une valeur numérique comme 123 et la succession des caractères &#34;123&#34; sont, pour la machine, deux objets complètement

Par exemple, le Maire d'une Ville est un attribut spatialement classé comme (Topologie : Global, Granularité : Sous- ensemble) car pour n'importe quel sous-ensemble de la

Dans cette activité, il faut que tu associes, si c'est possible, un programme sous scratch (disponible sur le réseau informatique, dans le répertoire classe 32) avec

Si le type de l'attribut est dans une table éditée des types d'attribut liés à LDAP [4], alors la chaîne de caractères du nom du type de cette table est utilisée, autrement il

[r]

Suite de nombres pour coder l’information (Couleur) contenue dans chaque petit carré qu’on appelle pixel (PICture ELement) :. Image en noir et blanc 1 bit pour