57
sif-1053 1 Cours 3 2. Représentation et traitement des informations Représentation des nombres réels Opérations sur les nombres réels Fonctions logiques et algèbre booléenne Opérations sur les bits Travail pratique #1 Epsilon d’une machine Propagation des erreurs Le matériel Chapitre 2 CSA Synthèse du professeur

Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

Embed Size (px)

Citation preview

Page 1: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 1

Cours 3

2. Représentation et traitement des informations

Représentation des nombres réelsOpérations sur les nombres réelsFonctions logiques et algèbre booléenneOpérations sur les bitsTravail pratique #1

Epsilon d’une machine Propagation des erreurs

Le matérielChapitre 2 CSASynthèse du professeur

Page 2: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 2

Représentation en virgule flottante La norme IEEE 754

Établi en 1985 comme norme uniforme de l’arithmétique en point flottant

Avant, plusieurs formats existaientImplémenté sur la plupart des CPUs

Représentation des réels courts (32 bits) selon la norme de l’IEEE 754

S Caractéristique Mantisse

31 30 23 22 0

Page 3: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 3

Représentation en virgule flottante Représentation des réels longs (64 bits) selon la norme de l’IEEE 754

S Caractéristique Mantisse

63 62 52 51 0

Page 4: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 4

Représentation en virgule flottante Un réel court est dit normalisé quand:

Condition C 000…0 et C 111…1

Exposant est codé sous forme d’excédent

 E = C – Bias => C = E + Bias C : valeur unsigned Bias : valeur du bias ou de l’excédent

•Simple précision: 127 (C: 1…254, E: -126…127)

•Double précision: 1023 (C: 1…2046, E: -1022…1023)

•En général: Bias = 2m-1 - 1, ou m est le nombre de bits de la caractéristique

Mantisse codé avec un 1 implicite  M = 1.xxx…x2

 xxx…x: bits de la partie fractionnaire Minimum quand 000…0 (M = 1.0) Maximum quand 111…1 (M = 2.0 – ) Le bit implicite n’est pas storé en mémoire

Page 5: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 5

Représentation en virgule flottante Un réel court normalisé en virgule flottante (S,C,M) a sa valeur décimale N donnée par

MN CS ,12)1( 127

• S: bit de signe• C: caractéristique • M: mantisse

Page 6: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 6

Représentation en virgule flottante Représentation sous forme d’un réel court du nombre 87.125

210

210

210

001,1010111125,87

001,0125,0

101011187

Après normalisation

62 2010111001,1001,1010111

Page 7: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 7

Représentation en virgule flottante Représentation sous forme d’un réel court du nombre 87.125

)6127133(:10000101

010111001

110

010111001,1

Mantisse avec le 1 implicite

Exposant

Mantisse entreposéeCaractéristique

Page 8: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 8

Représentation en virgule flottante Représentation sous forme d’un réel court du nombre 87.125

0 10000101 01011100100000000000000

Page 9: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 9

Représentation en virgule flottante Un réel court est dit dénormalisé quand:

Condition C = 000…0

Valeur E = -Bias +1 M = 0.xxx…x2

CasC = 000…0, M = 000…0

• Représente la valeur 0

Valeurs +0 et –0 possiblesC = 000…0, M 000…0

• Nombres très proches de 0.0• Perte de précision plus le nombre devient petit• Underflow graduel

Page 10: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 10

Représentation en virgule flottante

Valeurs spécialesCondition

C = 111…1Cas

C = 111…1, M = 000…0• Représente (infinity)

• Opération qui donne un débordement• Autant positif que négatif

• Ex: 1.0/0.0 = 1.0/0.0 = +, 1.0/0.0 = C = 111…1, M 000…0

• Not-a-Number (NaN)• Représente les cas ou aucune valeur numérique ne peut être déterminée

• Ex: sqrt(–1),

Page 11: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 11

Représentation en virgule flottante

Sommaire de l’encodage des nombres réels

Page 12: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 12

Représentation en virgule flottante

Sommaire de l’encodage des nombres réels

Page 13: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 13

Représentation en virgule flottante

Sommaire de l’encodage des nombres réels

Page 14: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 14

Représentation en virgule flottante

Sommaire de l’encodage des nombres réels

Page 15: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 15

Opérations en virgule flottante Approche conceptuelle

Calculer en premier le résultat exacte Convertir le résultat dans la représentation appropriée

Possibilité de débordement si l’exposant est trop gros

Possibilité d’arrondi pour cadrer dans la mantisse M

Type d’arrondi (exemple en $)

$1.40 $1.60 $1.50 $2.50 –$1.50

Round toward Zero $1.00 $1.00 $1.00 $2.00 –$1.00

Round down (-) $1.00 $1.00 $1.00 $2.00 –$2.00

Round up (+) $2.00 $2.00 $2.00 $3.00 –$1.00

Nearest (default) $1.00 $2.00 $2.00 $2.00 –$2.00

Page 16: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 16

Round-To-Nearest Mode d’arrondi par défaut

Les autres modes sont statistiquement biasésDes sommes de nombres positifs peuvent être sur- ou sous- estimées

Application à d’autres positions décimales Quand nous sommes exactement entre

deux valeurs possiblesArrondi de façon à ce que le digit le moins significatif soit pair

Ex: arrondi au centième près1.2349999 => 1.23

1.2350001 => 1.24

1.2350000 => 1.24

1.2450000 => 1.24

Page 17: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 17

Arrondi de nombres binaires Nombres fractionnaires binaire Examples

Arrondi au ¼ près (2 bits à droite du point binaire)

Page 18: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 18

Opérations en virgule flottante Addition en virgules flottantes

Considérons l’addition de 2 réels chacun avec 15 bits significatifs

1

7

2000101001111000,0

2100111111011011,0

2345.1

45,123

b

a

b

a

Page 19: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 19

Opérations en virgule flottante Alignement de b

001111000011111100101,0

011100000010000001001,0

100111111011011,0

2011100000010000001001,0 7

ba

b

Page 20: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 20

Opérations en virgule flottante Arrondissement du résultat

68,1242011111111100101,0

011111111100101,0

001111000011111100101,0

7

Page 21: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 21

Opérations en virgule flottante Multiplication en virgules flottantes Opérandes

(–1)s1 M1 2E1

(–1)s2 M2 2E2

Résultat exacte(–1)s M 2E

Signe s: s1 ^ s2 Mantisse M: M1 * M2Exposant E: E1 + E2

CadrageSI M ≥ 2, décaler M à droite, incrément de E

Si E hors des bornes possibles, overflow Arrondir M pour cadrer la représentation

Page 22: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 22

Nombres réels en C Deux niveaux de nombres réelsfloatsinple précision

double double précision Conversions

Conversion entre des int, float, et double changent les valeurs numériques

Double ou float à intTruncature de la partie fractionnaireComme l’arrondissement rounding toward

zero int à double

Conversion exacte int à float

Arrondissement selon le mode d’arrondi

Page 23: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 23

x == (int)(float) x Non: 24 bits significatifs

x == (int)(double) x Oui: 53 bits significatifs

f == (float)(double) f Oui: meilleure précision

d == (float) d Non: perte précision

f == -(-f); Oui: changement du bit s

2/3 == 2/3.0 Non: 2/3 == 0

d < 0.0 ((d*2) < 0.0) Oui!

d > f -f < -d Oui!

d * d >= 0.0 Oui!

(d+f)-d == f Non: Non associatif

Nombres réels en C

int x = …;

float f = …;

double d = …;

Page 24: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 24

Ariane 5Ariane 5 Explosion apès 37

secondes de vol $500 millions

perdus Pourquoi ???

Vh représentée par des nombres réels

Conversion en short integer (16 bits)

OK pour Ariane 4 Overflow pour

Ariane 5 Même code

utilisé

Page 25: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 25

Fonctions logiques et algèbre booléenne

C’est vers le milieu du 19ième siècle que le mathématicien et logicien anglais George Boole publie son traité d’algèbre intitulé: “Investigation des lois du raisonnement sur lesquelles reposent la théorie mathématique de la logique et les probabilités”.

Il faut par contre attendre près d’un siècle avant que l’on trouve des applications pratiques à cette théorie.

Page 26: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 26

L’algèbre de Boole est une algèbre applicable aux raisonnements sur des propositions logiques, une proposition peut être vraie ou fausse, ce que l’on peut noter par 1 ou 0.

En électronique, le courant électrique passe ou ne passe pas, ce que l’on peut noter également par 1 ou 0. En fait c’est sur ce concept fondamental, pour le moins assez simple, que sont construits tous les ordinateurs électroniques.

Page 27: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 27

Variable Booléenne

Puisqu’une variable de Boole ne peut prendre que deux valeurs, 0 ou 1, nous pouvons écrire:

si A différent de 0 ==> A = 1

si A différent de 1 ==> A = 0

Page 28: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

28sif-1053

E S

SEA=0

A=1

On associe souvent la notation de variable booléenne à un interrupteur ouvert ou fermé. Supposons que la valeur 1 soit associée à l’interrupteur fermé et 0 à l’interrupteur ouvert. En admettant la présence d’une tension au point E, nous avons une tension au point S dans la mesure où A = 1. Si A = 0 (interrupteur ouvert), il n’y a pas de tension en S.

Page 29: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 29

Complémentation d’une variable booléenne Étant donnée la dualité inhérente à toute l’algèbre de Boole, la notion de complémentation d’une variable ou d’une expression est immédiate, nous appelons complément d’une variable ou d’une expression l’opposé en algèbre de Boole de cette variable ou de cette expression. L’opération de complémentation peut donc être représentée par le tableau ci-dessous.

~A = 1 quand A=0

Variable Complément A A (ou A’) 0 1 1 0

Page 30: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

30sif-1053

Nous voyons donc que si la variable A est associée à un interrupteur ouvert pour la valeur 0 et fermé pour la valeur 1, la variable A’ est associée à un interrupteur mécaniquement lié au premier, mais ouvert quand A = 1 et fermé quand A = 0

E S

S1E1

A

A

Page 31: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

31sif-1053

La somme logique

La notion de somme logique (à ne pas confondre avec la somme algébrique) peut être associée à des interrupteurs en parallèle. En associant à la présence d’une tension en un point la valeur logique 1, et à son absence la valeur logique 0, nous obtenons:

S=0, si A=0 et B=0 simultanément;

S=1 , si A=1 ou B=1(ou les deux).

E SA

B

Page 32: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 32

Cette opération de somme logique est indiquée par le signe +. Nous écrivons donc:

S = A + B

Le + logique (que nous ne devons pas confondre avec le + de l’algèbre classique) correspond assez bien à la dénomination OU: nous avons une tension en S si les interrupteurs A OU B (ou les deux) sont fermés.

A | B = 1 quand A = 1 ou B = 1

Page 33: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 33

Par analogie avec la table d’addition classique, nous pouvons établir une table d’addition logique.

+ 0 1

0 0 1

1 1 1

Page 34: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

34sif-1053

Le produit logique

Nous avons vu dans le paragraphe précédent que la notion de somme logique se rapproche de celle d’interrupteurs en parallèle. De la même façon, nous associons la notion de produit logique à celle d’interrupteurs placés en série

S=0, si A=0 ou B=0;

S=1 , si A=1 et B=1simultannément.

SEA B

Page 35: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 35

Cette opération de produit logique est notée:

S = A x B (ou A.B ou AB)

Le x logique (que nous ne devons pas confondre avec le x de l’algèbre classique) correspond assez bien à la dénomination ET: nous avons une tension en S si les interrupteurs A et B sont fermés.

A & B = 1 quand A = B = 1

Page 36: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 36

Par analogie avec la table de multiplication classique, nous pouvons établir une table de multiplication logique.

x 0 1

0 0 0

1 0 1

Page 37: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 37

Le OU-EXCLUSIF (Xor)

A^B = 1 quand A=1 ou B=1 mais A != B

Page 38: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 38

Identités utiles en algèbre Booléenne

Page 39: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 39

Exemples Opérations sur plusieurs bits

Opérations appliquées bit à bit

01101001& 01010101 01000001

01101001| 01010101 01111101

01101001^ 01010101 00111100

~ 01010101 10101010

Page 40: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 40

Opérations sur les bits en C Opérations &, |, ~, ^ disponibles en C

•Applicable à plusieurs types de données

–long, int, short, char

•Voir les opérandes comme des suites de bits

•Opérations bit à bit

Exemples (char)•~0x41 --> 0xBE

~010000012 --> 101111102

•~0x00 --> 0xFF

~000000002 --> 111111112

•0x69 & 0x55 --> 0x41

011010012 & 010101012 --> 010000012

•0x69 | 0x55 --> 0x7D

011010012 | 010101012 --> 011111012

Page 41: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 41

Opérations logiques en C VERSUS

Opérations sur les bitsOpérateurs Logiques

•&& (ET logique), || (OU logique), ! (NON logique)

–Voir 0 comme FAUX

– Tout ce qui est différent de 0 est VRAI

–Retourne 0 ou 1

Exemples (char)•!0x41 --> 0x00 (NOT VRAI = FAUX)

•!0x00 --> 0x01 (NOT FAUX = VRAI)

•!!0x41 --> 0x01

•0x69 && 0x55 --> 0x01

•0x69 || 0x55 --> 0x01

• x = 100

• y = 50

• xx = 120

• yy = 130

• (x >= y) && (xx == yy) 0x00

Page 42: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 42

Résumé des opérateurs en C

Opérateurs–Arithmétiques

» +, += /* addition, addition et affectation */

» -, -= /* soustraction, soustraction et affectation */

» *, *= /* multiplication, multiplication et affectation */

» /, /= /* division, division et affectation */

» %, %= /* reste de la division entière (modulo), modulo et affectation */

» ++ /* incrémentation a++, ++a */

» -- /* décrémentation a--, --a */

–Relationnels» <, <= /* plus petit, plus petit ou égal */

» >, >= /* plus grand, plus grand ou égal */

» ==, != /* égal ou différent */

–Logiques» ! /* complément (non) */

» && /* et */

» | | /* ou */

Page 43: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 43

Résumé des opérateurs en C

Opérateurs–Logiques bitwise (sur des bits)

» ~ /* complément à 1 */

» &, &= /* et logique, et logique et affectation */

» | , |= /* ou logique, ou logique et affectation */

» ^, ^= /* ou exclusif, ou exclusif et affectation */

» >>, >>= /* décalage à droite, décalage à droite et affectation */

» <<, <<= /* décalage à gauche, décalage à gauche et affectation */

Page 44: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 44

Epsilon de la machine et nombre de chiffres significatifs d’une

représentation Lorsque nous effectuons l’addition de 2 nombres réels le plus petit des 2 est décalé ce qui occasionne une perte de précision Dans des cas extrêmes il peut arriver que le plus petit nombre n’ai aucune signifiance dans le calcul, ayant été décalé complètement vers la droite Le nombre de décalages maximum que peut subir un nombre avant qu’il n’ai plus de signifiance correspond au nombre de chiffres significatifs de la représentation

Page 45: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 45

Epsilon de la machine et nombre de chiffres significatifs d’une

représentation Le plus petit nombre signifiant d’une représentation est appelé epsilon de la machine Ce nombre représente la plus petite valeur de x pour laquelle 1+x>1

Page 46: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 46

Epsilon de la machine et nombre de chiffres significatifs d’une

représentation Algorithme qui trouve le epsilon de la machine et le nombre de chiffres significatifs (cas binaire)

eps=1

n=0

unpluseps = 1 + eps

TTQ unpluseps>1 FAIRE

eps = eps/2

unpluseps = 1 + eps

n++

FIN TTQ

eps = eps * 2

n = n-1

imprimer eps et n

Page 47: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 47

Propagation des erreurs

Lorsque une opération telle que l’addition est répétée il peut survenir un phénomène de propagation des erreurs d’arrondiAlors la sommation suivante peut dans certain cas ne pas donner 1

N

N1

/11

Page 48: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 48

Propagation des erreurs

De plus, l’ordre des sommations a aussi une influence sur la propagation des erreursPar conséquent les 2 sommations suivantes devraient donner la même valeur mais ce n’est pas le cas quand N est le moindrement grand

1

1

/1/1Ni

nN

i

n ii

Page 49: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 49

Propagation des erreurs

Algorithme de sommation successivesaut = 1/N

somme = 0

POUR i = 1 à N FAIRE

somme = somme + saut

FIN POUR

imprimer somme et erreur (1-somme)

Page 50: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 50

Propagation des erreurs

Algorithme de sommation ascendantsomme = 0

POUR i = 1 à N par saut de 1FAIRE

somme = somme + 1/in

FIN POUR

imprimer somme

Page 51: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 51

Propagation des erreurs

Algorithme de sommation descendantsomme = 0

POUR i = N à 1 par saut de -1 FAIRE

somme = somme + 1/in

FIN POUR

imprimer somme

Page 52: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 52

Éléments de programmation en C

Entrées/Sorties–Des symboles de formattage sont utilisés comme arguments aux fonctions d’I/O (ex: lecture au clavier et écriture à l’écran)

»“%d” /* formattage d’un nombre décimal */

»“%i” /* formattage d’un nombre décimal */

»“%f” /* formattage d’un nombre réel */

»“%c” /* formattage d’un caractère */

»“%s” /* formattage d’une chaîne de caractères */

»“%ld” /* formattage d’un nombre entier long */

»“%lf” /* formattage d’un nombre réel long */

Page 53: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 53

Éléments de programmation en C

Caractères spéciaux–Des caractères spéciaux sont utilisés pour modifier une sortie à l’écran ou pour faciliter la gestion des chaînes de caractères

»‘\b’ /* backspace */

»‘\f’ /* saut de page (form feed) */

»‘\n’ /* nouvelle ligne (new line) */

»‘\r’ /* retour de chariot (return) */

»‘\t’ /* tabulation (tab) */

»‘\’’ /* apostrophe */

»‘\”’ /* guillemets */

»‘\0’ /* caractère nul (null) */

»‘\\’ /* barre oblique inversée */

Page 54: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 54

Éléments de programmation en C

Structures de contrôle (Boucles)–Boucle while

while(condition){}– Par exemple:

iter =10;i=res=0;a = 12.5;

while(i<iter){res += (int) a;

printf(“\n Dans main() res = %d et a = %5.2f”, res,a); i++;

}

Page 55: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 55

Éléments de programmation en C

Exemple de programme (somme successive de termes puissances)

Voir projet calculPOW

Page 56: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 56

Éléments de programmation en C

Exemple de programme (somme successive de termes puissances)

Ajouter ces lignes dans le fichier StdAfx.h

Page 57: Sif-10531 Cours 3 n 2. Représentation et traitement des informations u Représentation des nombres réels u Opérations sur les nombres réels u Fonctions

sif-1053 57

Éléments de programmation en C

Exemple de programme (somme successive de termes puissances)

Exécution du programme