précédent
|suivant|
table des matières
types entiers.
ensemble de valeurs
Les différents types entiers sont : char, unsigned
char, int, short, unsigned int, long, unsigned
long. Les ensembles de valeurs correspondant à chacun de ces
types dépendent de la machine sur laquelle est implantée
le compilateur C++. Pour les ordinateurs PC compatibles, ces ensembles
de valeurs sont donnés par la table suivante :
type
|
taille de la représentation
en octets
|
intervalle de valeurs
|
char
|
1
|
-128 ..+127
|
unsigned char
|
1
|
0 .. 255
|
short
|
2
|
-32768..+32767
|
unsigned short
|
2
|
0..65535
|
int
|
4
|
-2147483648..2147483647
|
unsigned int
|
4
|
0..4294967295
|
long
|
4
|
-2147483648..2147483647
|
unsigned long
|
4
|
0..4294967295
|
notation littérale
Il existe 3 notations littérales des entiers dans
un programme C++ :
-
notation décimale C'est la notation habituelle.
-
notation octale Elle est composée d'une suite
de chiffres de 0 à 7 précédés de 0 : 0123 a
pour valeur

-
notation héxadécimale Elle est composée
des 16 chiffres héxadécimaux 0, 1, ... 9, A, B, C, D, E,
F est est précédée de 0x : 0x1AB a pour valeur
.
Le chiffre A vaut 10d, ... le chiffre F vaut 15d.
Une constante littérale appartient à un type
suivant sa valeur :
valeur décimale
|
valeur octale
|
valeur héxadécimale
|
Type
|
0..32767
|
0..077777
|
0..0x7FFF
|
int
|
|
0100000..0177777
|
0x8000..0xFFFF
|
unsigned int
|
32768.2147483647
|
02000000..017777777777
|
0x10000..0x7FFFFFFF
|
long
|
2147483648..4294967295
|
020000000000..037777777777
|
0x80000000..0xFFFFFFFF
|
unsigned long
|
>
|
>
|
>
|
tronqué en unsigned long
|
La représentation des entiers négatifs se
fait en binaire avec complément à 2 : une valeur négative
est obtenue à partir de la représentataion de la valeur positive,
dont on inverse tous les bits, puis on ajoute 1 :
+1 «
00 ... 01
donc -1 « 11 ... 10+1
= 11..11
Nous pouvons obtenir des résultats surprenants
:
-
2147483647+1 a pour valeur –2147483648 car 2147483647 est
de type int.
-
2147483648+1 a pour valeur 2147483649 car 2147483648 est
de type unsigned int.
suffixes
Les suffixes U, L et UL servent à forcer le type
:
-
U force en unsigned ou unsigned long
suivant la valeur qui précède.
-
L force en long ou unsigned long suivant
la valeur qui précède.
-
UL force en unsigned long.
exemple : soit n un entier contenant
un nombre de jours. Pour calculer le nombre de secondes composant ces n
jours nous écrivons l'expression : n*24*3600. Cette expression a
une valeur qui dépend du type de n :
-
si n est un short qui vaut 3 le résultat
est -2944, qui est manifestement faux.
-
si n est un int et vaut 3 le résultat
est 259200, qui est correct.
Caractère
Le code ASCII est utilisé : American Standard for Information
Interchange.
notation littérale
Le caractère est noté entre apostrophes :
-
'A'
dénote le caractère A
-
' '
espace
-
'\a'
signal sonore
-
'\n'
nouvelle ligne
-
'\\'
anti-slash
-
'\''
apostrophe
-
'\"'
guillemet
-
'\123'
le caractère de code 123 = {
Le caractère \ annonce une séquence d'échappement.
précédent
|suivant|
table des matières