Cours1 - Maria Malek

Download Report

Transcript Cours1 - Maria Malek

Informatique, Ordinateur &
Programme ...
– Selon le ROBERT :
– Informatique
• Théorie et traitement de l ’information par des
programmes mis en œuvre sur ordinateurs.
– Ordinateur
• Machine électronique de traitement de
l ’information, exécutant des programmes.
– Programme
• Suite d’actions à accomplir pour arriver à un
résultat.
Maria Malek - EISTI - CPI1
1
Plan

Introduction à l’architecture (2 cours)
– Représentation de données
– Architecture d’un ordinateur

Introduction au système LINUX (1
cours)
– Commandes
– Traitement de textes

Algorithmique et langage
– Programmation procédurale
Maria Malek - EISTI - CPI1
– Pascal
2
Représentation de données





Codage binaire
Changement de base
Codage des nombres entiers
Représentation de caractères
Représentation de nombres réels
Maria Malek - EISTI - CPI1
3
Codage binaire

Informations de plusieurs types
– texte, nombre etc..
– Traitée comme suite de 0 et de 1.
– Unité d’information est le bit.

Codage de l’information
– Correspondance entre représentation
externe et interne.

Pourquoi ?
– Systèmes à deux états : transistors.
Maria Malek - EISTI - CPI1
4
Définition de bases


La base habituelle est la base 10.
En base b, on utilise b chiffres
– X=anan-1…a1a0
– b=10 ; ai {0,1,2,3,4,5,6,7,8,9}
– b=2 ; ai {0,1}
– b=16 ; ai
{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
Maria Malek - EISTI - CPI1
5
Les nombres entiers

En base 10
– 2002=2 103+0 102 +0 101 +2 100

En base b, soit la suite : anan-1…a1a0
n
an an 1...a1a0   ai bi
i 0
– Exemple : (101)2= 1 22 +0 21 + 1 20=5
Maria Malek - EISTI - CPI1
6
Les nombres fractionnaires
• 12.346 = 1 101 +2 100+ 310-1+ 4 10-2 + 6 10 -3
• an an-1... a1 a0 a-1 a-2 …a-p=anbn + an-1bn-1+ ..
+a0b0+a-1b-1+.. + a-pb-p
Maria Malek - EISTI - CPI1
7
Passage de la base 10 vers une
base b - nombres entiers

Méthode
– On divise le nombre par la base, puis le
quotient obtenu par la base et ainsi de
suite jusqu’à l’obtention d’un quotient nul.
– La suite des restes obtenus correspond à :
a0a1 … an-1an
Maria Malek - EISTI - CPI1
8
Exemple

De la base 10 à la base 2
– 44 = 22 * 2 +0 ; a0=0
– 22 = 11 * 2 +0 ; a1=0
– 11 = 5 * 2 + 1 ; a2=1
– 5 = 2 * 2 +1 ; a3=1
– 2 = 1 * 2 + 0 ; a4=0
– 1 = 0 * 2 + 1 ; a5=1

(44)10=(101100)2
Maria Malek - EISTI - CPI1
9
Passage de la base 10 vers une
base b - nombres fractionnaires

Méthode
– On multiplie la partie fractionnaire par la
base en répétant l’opération sur la partie
fractionnaire du produit jusqu’à ce qu’elle
soit nulle.
– La suite des parties entières obtenues
correspond aux chiffres dans la base b : a1a-2 ...
Maria Malek - EISTI - CPI1
10
Exemple
– (54,25)10
– Partie entière
• (54)10=(110110)2
– Partie fractionnaire
• 0.25 x 2 = 0.50 ; a-1=0
• 0.50 x 2 = 1.00 ; a-2=1
• 0.00 x 2 = 0.00 ; a-3=0
Maria Malek - EISTI - CPI1
11
Cas des bases 2, 8 et 16
– 8= 23 , 16= 24
– Base 8 est appelée notation octale.
– Base 16 est appelée notation
hexadécimale.
– Un chiffre octal représente 3 bits.
– Un chiffre hexadécimal représente 4 bits.
– Un octet= 8 bits
• (10011011)2=(010 011 011)2=(233)8
• (10011011)2=(1001 1011)2=(9B)16
Maria Malek - EISTI - CPI1
12
Opérations arithmétiques
– Les opérations s’effectuent en base
quelconques b en utilisant les mêmes
méthodes qu’en base 10.
– Une retenue est considérée quand on
atteint ou dépasse b.
Maria Malek - EISTI - CPI1
13
Codification des nombres entiers
– Problème : Limitation de la taille de codage
– Entiers naturels (positif ou nul)
• un nombre fixe d’octets (1,2,4).
• n bits : 0 .. 2n-1
• un octet= 8 bits : 0 .. 28-1
– Entiers relatifs
• Problème : codage du signe
Maria Malek - EISTI - CPI1
14
Les entiers relatifs - 1

Coder le signe
– Le bit le plus fort pour représenter le signe.
– Exemple
• Codage de -3 sur 4 bits.
• (-3)10=(1011)2
– Problèmes
• Le 0 !!
• La comparaison
– test de signe obligatoire avant addition.
Maria Malek - EISTI - CPI1
15
Les entiers relatifs - 2

Complément à 1
– Pour un nombre négatif x
• On code en binaire sa valeur absolue sur n-1
bits.
• On inverse tous les bits et on ajoute 1.
– Exemple Soit à coder 2 sur 8 bits
• 00000010
• 11111101
– Problème
• 2 façons de représenter le 0.
Maria Malek - EISTI - CPI1
16
Les entiers relatifs - 3

Complément à 2 - méthode par défaut
– Pour un nombre négatif x
• On code en binaire sa valeur absolue sur n-1
bits.
• On inverse tous les bits et on ajoute 1.
– Exemple Soit à coder 2 sur 8 bits
• 00000010
• 11111101
• 11111110
Maria Malek - EISTI - CPI1
17
Les entiers relatifs - 4
– Soit x un entier positif représenté en base
n2
n-1
x   a i 2i ,
 ai {0,1}
i 0
n2
• Soit y :
y   (1  a i )2i  1,
i 0
• x+y=2n-1 ; donc y=-x modulo(2n-1 )
Maria Malek - EISTI - CPI1
18
Les entiers relatifs - 5

Remarques
• Le bit de poids fort d’un nombre négatif est 1
• Sur n bits, le plus grand entier positif est 2n-1 -1
• Sur n bits, le plus petit entier négatif est -2n-1
Maria Malek - EISTI - CPI1
19
Représentation des caractères - 1

Symboles alphanumériques
– Lettres majuscules, minuscules, symboles
de ponctuation (& . ~ , ; # - etc.)
– Texte = suite de caractères
– Code ASCII (American Standrad Code for
Information Interchange)
• Une lettre sur 7 bits
• ASCII Etendu sur 8 bits
Maria Malek - EISTI - CPI1
20
Représentation des caractères - 2

Table de correspondances
– Entre 0 et 31 : caractères de contrôle
– Entre 65 et 90 : les lettres majuscules
– Entre 97 et 122 : les lettres minuscules
– Passage de majuscules en minuscules
• Ajout de 32 au code
• modifiant le 5ième bit
– Chiffres rangés dans l’ordre croissant
• 48 à 57 : les 4 bits de poids faibles définissent
la valeur en binaire du chiffre.
Maria Malek - EISTI - CPI1
21
Représentation des caractères - 3

Autres codages
– ANSI : ASCII + page adapté au pays
• 8 bits, DOS et Windows
– ISO : ASCII + caractères européens
• 8 bits, Windows, UNIX, Internet
– UNICODE
• 16 bits, 49194 caractères, 25 alphabets.
Maria Malek - EISTI - CPI1
22
Représentation des nombres réels - 1

Norme IEEE 754 (simple précision)
– 3.25=(11,01)2
– 1, … x 2n ; 11.01=1.101 x 21
– Représentation IEEE
• Signe (+ ou -) est représenté sur le bit de poids
fort.
• Exposant (n) est codé sur les 8 bits suivants
(on code la valeur n+127).
• La mantisse (la suite après la virgule) est
codée sur 23 bits de poids faibles.
Maria Malek - EISTI - CPI1
23
Représentation des nombres réels - 2

Remarques
– Les exposants 00000000, 11111111 sont
interdits
• Utilisations particulières :
– 00000000 : nombres dénormalisés.
– 11111111 : NAN.
– Les exposants entre -126 et +127
Maria Malek - EISTI - CPI1
24
Représentation des nombres réels - 3

Norme IEEE 754 (double précision)
– Représentation IEEE
• Signe (+ ou -) est représenté sur le bit de poids
fort.
• Exposant (n) est codé sur les 11 bits suivants
(on code la valeur n+1023).
• La mantisse (la suite après la virgule) est
codée sur 52 bits de poids faibles.
• Les exposants 00000000000, 11111111111 sont
interdits.
Maria Malek - EISTI - CPI1
25