Integer/fr

From Free Pascal wiki

Deutsch (de) English (en) suomi (fi) français (fr) italiano (it) русский (ru)

Integer (entier) est un type standard du langage de programmation Pascal utilisé pour définir un nombre entier au contraire du type real utilisé pour les nombres à virgule flottante qui peuvent contenir une virgule et parfois un exposant.

La taille d'un entier dépend de la machine pour laquel le compilateur génère le code (32 bit ou 64 bit), du type de compilateur (16 bits, 32 bits ou 64 bits) et des paramètres passés au compilateur dans certains cas. Les entiers font généralement 16 bits (2 octets), 32 bits (4 octets) ou 64 bits (8 octets).

FPC utilise actuellement 32 bits (4 octets) pour les entiers, que la machine soit 32 ou 64 bits. Ceci fera échouer un code s'attendant à ce que les entiers et les pointeurs soient de même taille car une machine 64 bits utilise des pointeurs sur 64 bits. Pour pouvoir écrire du code portable, l'unité système de FPC propose les types PtrInt et PtrUInt qui sont des types de données signé ou non signé de même taille qu'un pointeur.

Sur les vieux compilateurs, un entier faisait 16 bits et représentaient des valeurs comprises entre -215 et 215-1 soit entre -32 768 et 32 767. Un type de donnée identique, word, était parfois utilisé pour représenter un entier non signé (de 0 à 65 535). Dans ce cas, les entiers 32 bits sont représentés par le type long ou longint.

Pour les machines x86, un entier mesure généralement 32 bits et représente les valeurs de -231 à 231-1 soit de -2 147 483 648 à 2 147 483 647. Cette dernière valeur est aussi défini en tant que constante maxint. Les type cardinal représente entiers 32 bits non signés et représente les valeurs de 0 à 232-1 soit de 0 à 4 294 967 295.

Sur les processeurs 64 bits récents, un entier peut être définit comme une valeur entre -263 et 263-1, soit -9 223 372 036 854 775 808 à 9 223 372 036 854 775 807.

Types de données
Types de données simples Boolean | Byte |Cardinal | Char | Currency | Extended | Int64 | Integer | Longint | Pointer | Real | Shortint | Smallint | Word
Types de données complexes Array | Class | Record | Set | String | ShortString