2009-06-19 22 views
4

RPGLEプログラムで整数を使用する場合は、どのデータ型を選択する必要がありますか?私はデータベース内のどのフィールドにも対応していない整数について話しています。普通の汎用整数 - Javaのintに相当するものです。RPGLEで標準的な整数型の選択肢は何ですか?

答えて

-2

バイナリ(符号付き整数)(B)または整数(符号なし整数)(I)型を使用できます。 3(1バイト)、5(2バイト)、10(4バイト)、20(8バイト)の桁値でサイズを指定できます。 Java intと同等のものは10Bです。ここで

+1

10Bと10Iは全く同じではありません。 10Bは10桁の10桁の値、すなわち最大999999999を、10Iは2147483647までを保持します。(技術的には、 "10B"を持つことはできません。最大値は9Bです。) 'B'データ型は小数点以下桁が必要な場合です。さもなければ、それらはおそらく決して使用されるべきではない。また、integerは "I"データ型であり、署名されています。符号なしは "U"です。 – user2338816

+1

Bは、 'P'または 'S'以上の整数ではありません。 'B'は単にメモリフォーマットを示します。 'B'は 'S'または 'P'と同様に、 'I'と 'U'のデータ型は、小数点以下の桁数を許可することはできず、そのまま整数値として使用することを意図しています。 – user2338816

+1

@ user2338816は正しいです。 RPG IVは整数型に最も近いRPG IVの真正(I)整数と(U)nsigned整数型を使用します。 (B)inary値は数学演算の(P)acked decimal値に変換され、次に(B)inaryに戻されます真の整数型は直接使用されますが** DDSファイル仕様で使用されるバイナリタイプは混乱します。小数点以下が0でRPG IV(I)ntegerタイプに対応する真の整数** – Charles

8

はILE RPGプログラマーズリファレンスガイドからのチャートです:

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

は、私が最も頻繁に整数の10I 0形式を使用します。ほとんどのAPI呼び出しでも使用されています。

関連する問題