1 L`alphabet des ordinateurs 2 L`écriture binaire des entiers positifs

publicité
1/3
ISN2 : 17 septembre 2013
1
L’alphabet des ordinateurs
Les appareils dits «numériques» utilisent un alphabet réduit à 2 caractères pour gérer l’information : { 0 ; 1 }. On
parle de système binaire.
Un caractère du système binaire est appelé un bit (abréviation de «binary digit»)
Bien qu’il soit possible d’imaginer des systèmes plus riches, le système binaire a fait ses preuves, ne serait-ce que pour
minimiser et détecter les erreurs.
Voici par exemple le signal envoyé par un émetteur (constant par intervalles) et celui reçu par le récepteur lors d’une
transmission «un peu» perturbée.
tension
1
temps
1
2
3
4
5
6
7
8
9
10
11
12
13
On imagine qu’un tel signal conduit à des erreurs d’interprétation, d’autant plus s’il y a plusieurs niveaux à reconnaître.
2
L’écriture binaire des entiers positifs
Le système binaire écrit les entiers dans le même ordre que le système décimal, l’ordre alphabétique.
Décimal
0
1
2
3
4
5
6
7
8
9
10
11
...
Binaire
0
1
10
11
100
101
110
111
1000
1001
1010
1011
...
En cas ambiguïté possible, les nombres écrits en binaire seront préfixés du caractère b
• Combien peut-on écrire de nombres différents avec n bits ?
• Quels nombres s’écrivent b11 , b111 , b1111 , b11111 , . . . ? Quel nombre s’écrit avec n chiffres 1 ?
• Quel nombre s’écrit en binaire avec un "1" suivi de n caractères "0" ?
Il faut connaître la liste des puissances successives de 2 : {2 , 4 , 8 , 16 , 32 , 64 , 128 , 28 = 256 , 512 , 210 = 1024}
3
Langage machine et langages évolués
Pour un ordinateur, un programme informatique se traduit par une suite de 0 et de 1 : c’est le langage machine.
Certains spécialistes manipulent ce langage mais dans l’immense majorité des cas, les programmeurs utilisent des
langages évolués qui sont traduits en langage machine pour être exécutés.
Cette traduction peut prendre 2 formes :
• la compilation où tout le programme est traduit avant d’être exécuté (java)
• l’interprétation où la traduction et l’exécution sont simultanées (python). Dans ce cas le programme est aussi
appelé script.
A l’image des calculatrices avec lesquelles on peut faire un calcul sans avoir à écrire un programme, un langage
interprété dispose d’une console pour exécuter une simple commande.
Activité : manipuler la console python.
2/3
ISN2 : 17 septembre 2013
4
L’informatique et les unités
4.1
Octet
Pour une question d’efficacité, un ordinateur gère le plus souvent (sauf dans certaines transmissions) les bits par
paquets multiples de 8.
Un octet est un nombre de 8 bits. C’est l’unité élémentaire d’allocation de données en mémoire.
Un octet peut donc être assimilé à un entier compris entre 0 et b11111111 = 255
4.2
Préfixes multiplicatifs
En informatique, les préfixes Kilo, Méga, Giga, Téra ne signifient pas des multiplications par mille mais par 210 = 1024
Exemple.
Une image en noir et blanc occupe un octet par pixel (point sur l’image).
Une photo NB de 2560 × 1024 pts correspond dans le jargon de la photo numérique à une image de
megapixels
2560 × 1024
= 2, 5
10242
Exercice.
Assetou lit dans son contrat Internet qu’elle dispose d’une connexion à 1024 kbps ( kilo bits par seconde).
Combien de temps lui faut-il pour télécharger un film de 1 go (giga-octet) ?
5
Conversion binaire <-> décimal
• Du binaire au décimal :
b10010110 = b10000000 + b10000 + b100 + b10 = 28 + 24 + 22 + 21 = 256 + 16 + 4 + 2 = 278
• Ecriture binaire et multiplication par 2.
Ecrire un entier en binaire revient à le décomposer en une somme de puissance de 2. Multiplier cet entier par
2 revient à multiplier par 2 chaque terme de la somme, c’est à dire à ajouter un zéro à droite de leur écriture
binaire, zéro qui se transmet à la somme.
b10010110 × 2 = (b10000000 + b10000 + b100 + b10) × 2 = (28 + 24 + 22 + 21 ) × 2 = (29 + 25 + 23 + 22 ) =
(b100000000 + b100000 + b1000 + b100) = b100101100
On retient que
multiplier par 2 revient à ajouter un zéro à l’écriture binaire et donc
un binaire est pair s’il se termine par un 0, enlever ce 0 revient à la diviser par 2
• du décimal au binaire.
– n pair, n = 2n′ , a même écriture que n′ avec un "0" en plus à droite.
– n impair, n = 2n′ + 1, a même écriture que n′ avec un "1" en plus à droite.
On réitère avec n′ etc . . . jusqu’à arriver à 1 ou 0
n = 163 =
2 × 81 + 1
163 = b . . . . . . . 1
81 =
40 =
2 × 40 + 1
2 × 20
= b . . . . . . 11
= b . . . . . 011
20 =
2 × 10
= b . . . . 0011
10 =
5 =
2×5
2×2+1
= b . . . 00011
= b . . 100011
2×1
= b . 0100011
= b10100011
2 =
1
ISN2 : 17 septembre 2013
Exercices
• Ecrire en décimal b1001001001
• Ecrire 171 en binaire
• En prenant modèle sur le 1er programme écrit en python, écrire un programme qui
– en entrée demande à l’utilisateur un entier
– en sortie, affiche l’écriture binaire de cet entier
3/3
Téléchargement