2009-06-19 15 views

Répondre

-2

Vous pouvez utiliser les types binaire (nombre entier signé) (B) ou entier (nombre entier non signé) (I). Vous pouvez spécifier la taille avec les valeurs numériques de 3 (1 octet), 5 (2 octets), 10 (4 octets) ou 20 (8 octets). L'équivalent d'un Java int serait 10B.

+1

Notez que 10B et 10I ne sont pas exactement équivalents. Le 10B accepterait une valeur de 10 chiffres décimaux, c'est-à-dire jusqu'à 999999999, alors que 10I peut contenir jusqu'à 2147483647. (Techniquement, vous ne pouvez pas avoir un "10B" .Le maximum est 9B.) La seule utilisation réelle du 'B' Le type de données est quand les chiffres fractionnaires sont désirés. Sinon, ils ne devraient probablement jamais être utilisés. En outre, entier est le type de données "I" et est signé; non signé est "U". – user2338816

+1

BTW, 'B' n'indique pas plus un entier que 'P' ou 'S', 'B' indique simplement le format de la mémoire Pour 'B', tout comme 'S' ou 'P', le l'indication "entier" indiquerait des positions décimales (0) Les types de données "I" et "U" ne peuvent pas autoriser autre chose que des positions décimales (0) et sont directement destinés à être utilisés comme des valeurs "entières" – user2338816

+1

@ user2338816 est correct , (B) inaire se réfère à la façon dont les données sont stockées.Il s'agit du RPG III le plus proche d'un type entier.Il ne devrait pas être utilisé aujourd'hui.Au lieu, utilisez les types true (I) nteger et (U) nsigned Integer de RPG IV. , (B) les valeurs inary sont converties en valeurs décimales (P) acquittées pour les opérations mathématiques, puis en (B) inary Alors que les nombres entiers réels sont utilisés directement. ** note: le type binaire utilisé dans les spécifications de fichier DDS est confus. un vrai nombre entier lorsque 0 décimales sont spécifiées et correspond aux types d'indicateurs RPG IV (I) ** – Charles

8

Voici un tableau du guide de référence programmeur RPG ILE:

byte - 3I 0 (1-byte integer) 
short- 5I 0 (2-byte integer) 
int - 10I 0 (4-byte integer) 
long - 20I 0 (8-byte integer) 

J'utilise le 10I 0 sous forme de nombre entier le plus souvent. Vous constaterez qu'il est également utilisé dans la plupart de vos appels d'API.