Les types entiers en C++¶
#include <climits>
#include <cmath>
Type unsigned short int
¶
unsigned short int u;
u = 1
u = 10000
u = 100000
USHRT_MAX
pow(2,16) - 1
u = 65533
u = u + 1
u = u + 1
u = u + 1
u = u - 1
Type int
¶
int i;
i = 1
i = 1000
i = 1000000
i = 1000000000
i = 1000000000000
Quel est le plus grand entier que l’on peut représenter avec un int?
INT_MAX
i = INT_MAX
Que se passe-t’il si on lui ajoute 1
?
i + 1
i = INT_MIN
i - 1
Conséquence amusante:
-i
abs(i)
À retenir¶
Les entiers des types
int
,long
, … sont des entiers machine; ce sont des approximations des entiers mathématiques
Il est possible de représenter les entiers mathématiques arbitraires avec un type adéquat
De même pour
float
,double
, …: ce sont des approximations des nombres réèls
Il n’est pas possible de représenter tous les nombres réèls!