0 ou 1 - Sciences Physiques au lycée Grand Air

reactionparadiseΗλεκτρονική - Συσκευές

7 Οκτ 2013 (πριν από 3 χρόνια και 8 μήνες)

93 εμφανίσεις

Représentation numérique de

l’information

Rappel : Que manipule un
ordinateur ?



Un ordinateur est un assemblage de circuits
électroniques.


Un circuit électronique numérique manipule des
tensions électriques pour représenter
l'information.


Le codage des informations est lié aux
différents
états de ces tensions : 0V et +5V


Le bit


L'unité élémentaire utilisée en informatique pour
coder l'information est appelé
un bit.



Le mot « bit » étant la contraction de
binary

digi
t
(chiffre binaire), un bit peut prendre deux
valeurs :
0 ou 1



la valeur 0 correspond à un état électrique de 0V

La valeur 1 correspond à un état électrique de +5V


Bit et codage de l'information


Avec seulement deux états, comment coder
des informations plus complexes que 0 et 1 ?



Comment représenter numériquement des
informations aussi variées que :




Des nombres,




Des sons,




Des images,




Des vidéos,








Bits, octets



On manipule
souvent les
bits par paquets de 8



8 bits = 1 octet = 1
byte




8b = 1o = 1B



1Kilo octet = 1Ko =
2
10
o = 1024 octets



1Mega octet = 1Mo =
2
20
o = 1024 Kilo octets



La différence étant croissante
avec
les multiples

usuels, on a essayé de réparer cela avec de nouvelles


unités en 1998

Multiples informatiques

Quelques définitions importantes




Mot binaire (parfois appelé Mot) est une quantité
déterminée de bits traitée comme entité unique par
l'ordinateur.



De façon concrète, le mot est le nombre de bits qu'un
microprocesseur peut manipuler en même temps (et
donc qui circulent sur les bus).



Aujourd'hui la plupart des microprocesseurs utilisent
des mots de 32 ou 64 bits (suivant que leur
architecture est 32 ou 64 bits). Les premiers
ordinateurs utilisaient des mots de 8 bits.



On a l’habitude de représenter les nombres en base
décimale ou base 10.


Ce système est donc composé de 10 symboles (ou chiffres
ou digits : 0, 1, 2, 3...9) permettant de coder tous les
nombres à partir des puissances de 10.



Par exemple, on peut décomposer le nombre 2542 :

2542
(10)
= 2.10
3
+ 5.10
2
+ 4.10
1
+ 2.10
0



La position respective des chiffres représente leur
poids
(unité, dizaine, millier,...) et l’association de chiffres est
appelé
nombre
. Dans le cas d’un nombre codé en base 10,
on parle de nombre décimal.










Base


Nombre en base décimale


Vous trouvez ça drôle ?

« Il n'y a que (10)
2

sortes de personnes,
celles qui comprennent le binaire et
celles qui ne le comprennent pas. »












Nombre en base binaire



Le système binaire comporte 2 chiffres : 0 et 1.


Suivant le nombre de bits, on pourra représenter un
certain nombre de valeurs sur
n
bits.


Supposons des chiffres entiers non signés codés sur 8
bits.


Par exemple :


(00000000)
2

= 0


(00000001)
2

= 1


(10000000)
2

= 128


(01010101)
2

= 85 = 0x128+1x64+0x32+1x16+0x8+1x4+0x2+1x1


(11111111)
2

= 255 =
1x128+1x64+1x32+1x16+1x8+1x4+1x2+1x1



Numération et codage


Changements de bases



Pour passer d’un nombre décimal à un nombre exprimé dans

une autre base, on utilise la méthode des divisions

successives.



On divise alors le nombre décimal
N

(10)


par la base B(binaire,

base 2). Le reste de la division est un digit du résultat

92


2


46


0


2


23


0


2


11


1


Reste


Sens de

lecture du

résultat

(1011100)


Nombre en

base décimale


Base


2


5


1


2


2


1


2


1


0


2


0


1


Bit de poids fort


Bit de poids faible




Exemple : Donner le nombre 42 (codé en décimal)





en binaire.

42


2


21


0


2


10


1


2


5


0


Reste


Sens de

lecture du

résultat

(101010)


Nombre en

base décimale


Base


2


2


1


2


1


0


2


0


1


Quelques questions

Q.1. Donner les puissances de 2 de 0 à
10.



Q.3.
Combien vaut
(11111111)
2
? Et si on y ajoute 1?




Q.4. Combien vaut (19)
10
? Et (112)
10
?



Q.6.
Combien de nombres différents peut
on représenter sur un


octet ?


Vérifier à l’aide d’un convertisseur disponible sur le web.



Q.2. Combien vaut
(00101001)
2
? Et (11001100)
2
?


Q.5.
Comment représenter
(1026)
10

en binaire ?

Un entier ne peut pas avoir une taille
infinie. Etant
un
groupe de 8 bits, il peut représenter 256 (=2
8
) valeurs
différentes.


Les valeurs vont de (0)
10

à (255)
10




(0)
10
=(0000
0000
)
2


(52)
10
=(0011 0100)
2


(127)
10
=(0111 1111)
2


(137)
10
=(1000 1001)
2


(253)
10
=(1111 1101)
2


(255)
10
=(1111
1111
)
2

Pour des raisons de
lisibilité,

nous présenterons
souvent

les 8 bits par 2 quartets.

Taille d’un entier


Type

Signification

Taille (en
octets)

Plage de valeurs
acceptées

byte

Entier très court

1

-
128 → +127

short

Entier court

2

-
32 768 → +32 767

int

Entier

4

-
2
31

-
2,147
×
10
9


+2
31
-
1≈2,147
×
10
9

long

Entier long

8

-
2
63

-
9,223
×
10
18


+2
63
-
1≈9,223
×
10
18

float

Nombre réel simple

4

±
2
-
149
≈1.4
×
10
-
45


±
2
128
-
2
104
≈3.4
×
10
38

double

Nombre réel double

8

±
2
-
1074
≈4,9
×
10
-
324


±
2
1024
-
2
971
≈1,8
×
10
308

boolean

Valeur logique
(booléen)

1

true

(vrai), ou false
(faux)



Les différents types d’entiers (en java)

Hexadécimal


Le code hexadécimal est composé de 16 symboles :
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}.


On peut le voir comme une contraction d’un nombre

binaire par quartet.


Par exemple le nombre (1011100)
2

= (0101 1100)
2
peut
s’écrire :




Codage des couleurs en hexadécimal


En programmation la notation dépend du langage :

Exemple avec (AE4F)
16

:






Exemple : dans le fichier CSS de la séance
précédente, remplacer
red

par #FF0000 puis
#FFFF00. Conclusion ?



Langage

Préfixe

Exemple

C, C++, java

0x

0xAE4F

Pascal

$

$AE4F

Basic

&h

&hAE4F

HTML

#

#AE4F

Remarque : il
faut 4 bit pour
coder un chiffre
hexadécimal


décimal

Binaire

hexadécimal

0

0000

0

1

2

3

4

5

6

7

8

1000

8

9

10

11

12

13

14

15

1111

F

16

10000

10



92


16


5


12


16


0


5


Reste


Sens de

lecture du

résultat

(5C)


N

(10)



B


12 en hexadécimal est

représenté par la lettre

C (10 par A, 11 par B,

… 15 par F)



Changement de base,

c’est

presque


comme en binaire…


On utilise la méthode des divisions successives :


On divise donc le nombre décimal
N
10
par la base B.
Le reste de la division est un digit du résultat


Numération et codage


Changements de bases



Donner le nombre 42 (codé en décimal) en

hexadécimal.

42


16


2


10


16


0


2


Reste


Sens de

lecture du

résultat

(2A)


Nombre en

base décimale


Base


10 en hexadécimal est représenté par

la lettre A (11 par B, 12 par C, … 15

par F)


Numération et codage


Changements de bases



Que vaut le nombre 3C (codé en hexadécimal)

en décimal.

3C

(16)


= 12.16

0


+ 3.16

1





3C

(16)


= 12
+ 48

3C

(16)


= 60

Rang

3

2

1

0

Poids

16

3



12

2



16

1



16

0



Valeur

4096

256

16

1

Quelques questions :

Effectuer les conversions suivantes :

Q1. (3C)
16
= ( ? )
10

Q2. (BAC)
16

= ( ? )
2

Q3. (BAC)
16
= ( ? )
10

Q4. (156)
10
= ( ? )
16

Q5. (1010 1100 1110)
2

= ( ? )
16




Ce que je ne vous ai pas dit…


Comment coder un nombre négatif ? (voir la
partie pour aller plus loin).


Comment coder de très grands nombres sans
utiliser une place énorme elle aussi ?


Comment effectuer des opérations avec des
nombres binaires?


Codage ASCII


Le codage le plus connu et le plus utilisé est
l'
ASCII

(American Standard Code for
Information
Interchange
) « Code américain
normalisé pour l'échange d'information » qui
date de 1963.


Un fichier .
txt

est par exemple codé en ASCII


Les caractères sont codés sur
7 bits soit 128
caractères
possibles (ou 8 mais avec un bit de
poids fort toujours à zéro



Codage Unicode


L’ASCII ne permettant d’encoder que les caractères
latins, sans accents il a fallu inventer un autre
encodage (en fait, il y en a plein d’autres…).


Les intérêts d’utiliser Unicode :


Il utilise un nombre variable de bits mais permet d’encoder
1 million de caractères.


Les premiers caractères Unicode correspondent aux ASCII
d’où rétrocompatibilité.


Plusieurs encodages sont possibles mais UTF
-
8 et
UTF
-
16 sont les plus répandus actuellement avec
246943 caractères assignés.




Codage Unicode et HTML


Pour éviter des problèmes d’affichage, mieux vaut
déclarer sur sa page web le type de codage utilisé…


Extrait de table Unicode

(http://www.tamasoft.co.jp/en/general
-
info/unicode.html)

Principaux formats : texte



.DOC .DOCX

(Document)

Textes mis en forme (logiciel Microsoft Word).

Attention à la version de Word utilisée

Utiliser :

Wordviewer (Windows) ; logiciels de

traitement de texte

.SXW .ODT

(Open Document Text)

Textes mis en forme (logiciel OpenOffice)

Utiliser :

NeoOffice / OpenOffice (gratuit :) )

45

.PDF

(Portable Document

Format)

Format du logiciel
Acrobat


de Adobe

Utiliser :

Adobe reader (gratuit)

.PS .EPS

(PostScript et Encapsuled

PostScrip)



Typographie et mise en page. Pour imprimantes

laser.

Utiliser :

GhostScript, Aperçu ; envoyer directement

à une imprimante laser compatible.

Principaux formats : texte



.PPT .PPS .PPTX

(PowerPoint et

PowerPoint Slideshow)

Diapositives électroniques (logiciel
PowerPoint de

Microsoft).

Utiliser :

PowerPoint Viewer .

.XLS .XLSX

(Excel Sheet)

Tableur Excel de Microsoft.

Utiliser :

Excel, visionneuses gratuites de Microsoft,

OpenOffice.

.HTML .HTM

(Hypertext Markup

Language)

Rédaction de page Web

Utiliser :

Mozilla, Firefox, Safari, Microsoft Internet

Explorer ou tout autre navigateur Internet

Pour
éditer

ces fichiers : tout éditeur de .TXT

(TextEdit, ...) si l'on connaît le langage HTML
-


Editeur web : Adobe Dreamweaver
-

Mozilla

Composer
-

Frontpage

47

Représentation numérique de

l’information

Cette partie sera vue en fin d’année en Sciences
Physiques aussi pouvez
-
vous la considérer comme
facultative.

Codage binaire: sons

Pour numériser du son enregistré par micro ou créé par un instrument

acoustique ou électrique



On découpe le son en échantillons de temps et on code chaque échantillon

sur un certain nombre de bits




Analog

to Digital
Converter

(ADC)



Fréquence d’échantillonnage: nombre d’unités de sons (échantillons)

codées par seconde



Ex. CD: 44,1 kHz (44100 échantillons / seconde)



Rem: Seuil audible pour l’oreille humaine: +/
-

20 kHz, mais il faut échantillonner 2 fois

plus vite que la fréquence du son pour la capturer



Nombre de bits par échantillon



Ex. CD: 16 bits



Nombre de canaux:



mono (1) v. stéréo (2)



Pour rejouer le son, il faut un

Digital to Analog Converter (DAC)






1 minute d’enregistrement

en stéréo et qualité CD:

= 2 * 16 * 44100 * 60 = 84,672,000 bits

= 10,584,000 bytes ≈ 10Mb / min.








La représentation du son


À une fréquence de 44,1
khz




L’onde initiale ainsi découpée donne une onde

discontinue. Il

y
a une certaine perte

d’information. Cependant, l’intervalle de temps

entre deux mesures d’amplitudes successives

est si minime que l'oreille ne percevra pas la

différence lors de l’audition.


Onde

sinusoïdale







Une fois

numérisé

Questions

Q.1. Calculer la taille d’un fichier audio en

octets et en Méga octets d'un extrait sonore

de 3 minutes (qualité CD).



Q.2. Calculer la taille d’un fichier téléphonique

en octets et en Kilo octets d'un extrait de

communication de 2 minutes (qualité

téléphone numérique : F ech = 8 khz, codé

sur 8 bits).



Principaux formats : audio



.WAV

(
Waveform Audio File

Format
)

Format utilisé par Windows.

Utiliser :

Windows


: Lecteur multimédia.
Mac


:

QuickTime.

.MP3



(
Moving Pictures Expert

Group
)



Format public, (qualité




disque compact).

Utiliser :

Windows


: Lecteur multimédia.
Mac


:

QuickTime…

.RA .RAM



(
RealAudio
)

Séquences sonores et vidéo par Internet.

Utiliser :

RealAudio

.OGG

(OggSquich)

Format open source de la fondation Xiph.org. Très

bonne qualité.

Utiliser :

Windows


: Lecteur multimédia.
Mac


:

QuickTime.



49

Représentation numérique de

l’information



Exemple d'une image en
noir(1)
et
blanc(0)
:


Comment est représentée une image















0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

1

1

1

1

36 bits

303 pixels

303 pixels

303 x 303 x 1 bit = 91809 bits

I.3 Codage de l’information

Codage d’une image


On appelle résolution le nombre de pixel par unité de
surface.


Pour une image en noir et blanc, chaque pixel est codé sur
1 bit : 0 = blanc et 1 = noir.


Ce type de codage peut convenir pour


un plan ou un texte mais on voit ses

limites lorsqu'il s'agit d'une photographie.






303 pixels

303 x 303 x 1 octet = 91809 octets







= 734 472 bits

I.3 Codage de l’information





Codage en niveaux de gris


Chaque pixel est codé sur plusieurs bits.


Si on code chaque pixel sur 2 bits on aura 4
possibilités (noir, gris foncé, gris clair, blanc).

L'image codée sera très peu nuancée.


En général, on code plutôt sur

8 bits = 1 pixel = 1 octet

On a alors 256 possibilités

(on dit 256 niveaux de gris).





303 x 303 x 3 octets

= 275 424 octets

303 pixels

303 pixels









= 2 203 392 bits

I.3 Codage de l’information

Codage en couleur 24 bits



On parle de codage RVB = Rouge, Vert, Bleu


Chaque couleur est codée sur 8 bits


La couleur du pixel est l’association des 3 couleurs


Chaque pixel est codé sur 24 bits (aussi appelé
true

color
)









Codage en couleur (suite)


Coder sur 3 octets l’intensité des 3 composantes



Je veux coder des couleurs ?


En anglais
Red

Green Blue

(RGB)










Codage d'une image en couleurs 8 bits



Dans ce cas on attache une palette de 256 couleurs
à l'image.


Ces 256 couleurs sont choisies parmi les 16 millions
de couleurs de la palette RVB. Pour chaque image
le programme recherche les 256 couleurs les plus
pertinentes.


Chaque code (de 0 à 255) désigne une couleur.


L'image occupe 3 fois moins de place en mémoire
qu'avec un codage 24 bits. L'image est moins
nuancée : sa qualité est bonne mais moindre.





Quelques questions

Q.1. Pourquoi parle
-
t
-
on dans la diapositive précédente de «

16 millions

»
de couleurs ?

Q.2. La taille en octets d’une image Bitmap se définit ainsi :
Nb_de_colonnes

*
Nb_de_lignes

*
Nb_de_bits_par_pixel

/ 8
Pourquoi
divise
-
t
-
on par 8 ?

Q.3. La taille de l’image est un paramètre important à considérer pour des
raisons de stockage sur le disque dur (emplacement disponible) mais
aussi lors de la construction d’un site Web. Lorsqu’on affiche des images
sur une page Web, il faut se poser la question de la durée du
chargement des fichiers. Une ligne ADSL (standard) a un débit idéal de
512 Ko/s, 1 Mo/s, 2 MO/s… Aussi pour une image de 10 Ko, il faudra
0,02 sec avec une ligne ADSL (512 Ko). Combien faudrait
-
il avec une
image de 120 Ko?

Q.4. Quelle est la taille (en
Kio

et
Mio
) d’un fichier image de 500 x 500 codé
sur 24 bits ? Vérifiez en ouvrant une image quelconque au format
bmp
,
en la redimensionnant dans
Paint

puis en cherchant sa taille.

Principaux formats : images



.BMP

(Bitmap)

Image graphique stockant les pixels sous forme de

tableau de points. Simple et passe partout.

Utiliser :

navigateurs, logiciels de traitement d'image.

.GIF

(
Graphics Interchange

Format
)



Petites images, icônes, boutons des pages Web, etc.

Fichiers compressés (




assez compacts), 256

couleurs maximum

Utiliser :

navigateurs, logiciels de traitement d'image.

.JPEG .JPG

(
Joint
Photography


Experts Group
)



Photos et images texturées. Fichiers très compacts

(compression efficace mais avec perte de qualité)

Utiliser :

navigateurs, logiciels de traitement d'image.

.TIFF .TIF

(
Tagged Image File

Format
)



Images de qualité. Compression sans perte. « Gros »

Fichiers.

Utiliser :

Windows


: Irfan View.
Mac


: SimpleImage

48

Principaux formats : vidéo



.AVI

(
Audio Video Interleave
)



Format vidéo générique pour Windows

Généralement visualisation en différé

Fichiers peu volumineux, échangeables, bonne

qualité

Utiliser :

Windows


: Lecteur multimédia.
Mac


:

QuickTime

.MOV .QT

(
QuickTime Movie
)



Développé par Apple. Excellente qualité

d'image.

Généralement visualisation en différé.

Utiliser :

QuickTime

.MPEG .MPG

(
Moving Pictures Expert

Group
)



Norme publique

Généralement visualisation en différé.

Utiliser :

Windows


: Lecteur multimédia.
Mac


:

QuickTime

50

Pour aller plus loin


Un petit jeu :
http://forums.cisco.com/CertCom/game/binary_
game.swf


Les entiers relatifs (48),


Méthode du complément à 2 (51),


Réels à virgule flottante (55),


Addition de nombres binaires (57),


Multiplication de nombres binaires (58).

Pour pouvoir représenter des entiers relatifs, on
peut utiliser un bit de signe.


Ce codage utilise le bit de poids fort (bit le plus à
gauche) pour représenter le signe (la valeur 0
étant utilisée pour un nombre positif et la valeur 1
pour un nombre négatif) et le reste des bits pour
représenter la valeur absolu de l'entier.


Ainsi sur 8 bits (1 octet), on peut coder 2*2
7
-
1
valeurs (de
-
127 à +127)

Les entiers relatifs

Complément à deux

(
0)
10
= (
0000
0000
)
A2



(
-
2)
10


=

(1111 1110)
A2

(
-
128)
10
= (
1000 0000)
A2



(
127)
10

=

(0111 1111)
A2

(
1)
10
= (
0000 0001)
A2



(2)
10

=

(0000 0010)
A2



Quelques questions

Q.1. Calculer l’intervalle de valeurs codées en
complément à 2 sur un octet ?

Q.2. Combien vaut (11011101) en complément à 2 ?

Q.3. Effectuer les opérations suivantes en binaire

sur 8 bits ? Vérifier le résultat ? Conclusion.


(a) 10010110 + 00101101


(b) 11001110
-

10100111


(c) 00001011 x 00010110


La précision dans ce codage sera limitée mais suffisante car
il ne prendra en compte que les chiffres significatifs.


Les nombres seront représentés dans la forme normalisée
suivante :
+/
-

0,M * B
E


+/
-

: codage du
signe

M : La mantisse sera un

nombre
de x chiffres

dans
la base B

E : L'exposant sera un

nombre
de y chiffres

dans
la base B

Réels à virgule flottante

(4562,05)
10

se normalise en virgule flottante
en base
10 par
0,456205*10
4



Mantisse :
456205




Exposant :
4




Signe : +



(
-
0,00145)
10

se normalise en virgule flottante
en base
10 par
-
0,145*10
-
2



Mantisse :
145




Exposant :
-
2




Signe :
-

Quelques exemples

L’addition de nombres binaires

Le principe général est le même que pour l'addition
de nombres dans n'importe quelle base B.

multiplication de nombres binaires

Autres opérations arithmétiques de nombres binaires

Exemples :


NON(00110100) = 11001011







(
0011 0100) ET (1000 0101) = (0000 0100)