Vous êtes sur la page 1sur 4

Opérateurs et expressions

40 CHAPITRE 4

3 Les conversions implicites pouvant


intervenir dans un calcul d’expression

3.1 Notion d’expression mixte

n * x + p

3.2 Les conversions usuelles d’ajustement de type


3 - Les conversions implicites pouvant intervenir dans un calcul d’expression
41

int -> long -> float -> double -> long double

n * p + x

n * p + x
| | |
long | | conversion de n en long
| | |
|__ * __| | multiplication par p
| |
long | le résultat de * est de type long
| |
float | il est converti en float
| |
|____ + ____| pour être additionné à x
|
float ce qui fournit un résultat de type float

3.3 Les promotions numériques usuelles


3.3.1 Généralités

p1 * p2 + p3 * x
Opérateurs et expressions
42 CHAPITRE 4

p1 * p2 + p3 * x
| | | |
int int int | promotions numériques short -> int
|____ * ____| | | addition
| float | conversion d’ajustement de type
int |___ * ___ | addition
| |
float float conversion d’ajustement de type
|_________ + _________|
|
float

3.3.2 Cas du type char

c1 + 1
| |
int | promotion numérique char -> int
|___ + ___|
|
int

c1 - c2
| |
int int promotions numériques char -> int
|___ _ ___|
|
int
3 - Les conversions implicites pouvant intervenir dans un calcul d’expression
43

c1 + n
| |
int | promotion numérique pour c1
|___ + ___|
|
int

3.3.3 Cas du type bool

bool ok = true ;
.....
cout << ok + 2 ; // affiche 3
.....
ok = false ;
cout << ok +2 ; // affiche 2

3.4 Les conversions en présence de types non signés

3.4.1 Cas des entiers

Vous aimerez peut-être aussi