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 signed short int
#
short int s;
s = 32767
s = s + 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)
Type long
#
long l = LONG_MAX
l + 1
l = LONG_MIN
l - 1
- l
À 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éels!