View previous topic :: :: View next topic

Author 
Message 
padmavenug
New User
Joined: 08 Aug 2005 Posts: 3 Location: Chennai, Tamil NAdu, INDIA




Hi,
Can anyone explain me how to choose which COMP (COMP1,COMP2.....)data types to choose for different requirements.
How to calculate the size of the var declared as any of the COMP data types? This is a interview question.
Regards
padma 

Back to top 




atik
New User
Joined: 29 Jul 2005 Posts: 20




Depending on the requirement and where the var will used, the data types are used. For eg calculations are faster if u declare comp. Also memory utilization is more in boundaries in case of COMP compared to COMP3. 

Back to top 


Rupesh.Kothari
Member of the Month
Joined: 27 Apr 2005 Posts: 464




Hi
find some information regarding all COMP data
hai,
the following is the details of COMP items.
BINARY
Specified for binary data items. Such items have a decimal equivalent
consisting of the decimal digits 0 through 9, plus a sign. Negative
numbers are represented as the two's complement of the positive number
with the same absolute value.
The amount of storage occupied by a binary item depends on the number
of decimal digits defined in its PICTURE clause:
Digits in PICTURE Clause Storage Occupied
1 through 4 2 bytes (halfword)
5 through 9 4 bytes (fullword)
10 through 18 8 bytes (doubleword) │
The leftmost bit of the storage area is the operational sign.
PACKEDDECIMAL
Specified for internal decimal items. Such an item appears in storage
in packed decimal format. There are 2 digits for each character
position, except for the trailing character position, which is
occupied by the loworder digit and the sign. Such an item can
contain any of the digits 0 through 9, plus a sign, representing a
value not exceeding 18 decimal digits.
The sign representation uses the same bit configuration as the 4bit
sign representation in zoned decimal fields (see Table 12 in
topic 2.7.12.2 and Table 13 in topic 2.7.12.2).
COMPUTATIONAL or COMP
Representation of the COMPUTATIONAL phrase is systemdependent and is
normally assigned to representations that yield the greatest
efficiency when arithmetic operations are performed on that system.
For the VS COBOL II compiler, the COMPUTATIONAL phrase is synonymous
with BINARY.
COMPUTATIONAL1 or COMP1
Specified for internal floatingpoint items (single precision).
COMP1 items are 4 bytes long. The sign is contained in the first bit
of the leftmost byte and the exponent is contained in the remaining 7
bits. The last 3 bytes contain the mantissa.
COMPUTATIONAL2 or COMP2
Specified for internal floatingpoint items (double precision).
COMP2 items are 8 bytes long. The sign is contained in the first bit
of the leftmost byte and the remaining 7 bits contain the exponent.
The remaining 7 bytes contain the mantissa.
COMPUTATIONAL3 or COMP3 (internal decimal)
For VS COBOL II, this is the equivalent of PACKEDDECIMAL.
COMPUTATIONAL4 or COMP4 (binary)
For VS COBOL II this is the equivalent of BINARY.
Regards
Rupesh 

Back to top 



