COMP-3 field occupy ?
Answers were Sorted based on User's Feedback
Answer / phani
if n is even, then n/2 + 1 bytes
if n is odd, then int(n+1/2) bytes
every time rightmost 1/2 byte is used to store sign value.
| Is This Answer Correct ? | 5 Yes | 3 No |
Answer / sp
Its not even and odd. Its jst (n+1)/2. If aftre calculation
we are getting decimal value then it will roundeed to next
value.
| Is This Answer Correct ? | 4 Yes | 2 No |
Answer / vasanth
No it should be M+N/2 for bytes allocation in case of
variable var1 pic 9(6)v99 comp-3
where M=6 and N=2
The limit of comp-3 variable declartion is EX: var1 s9(18)
comp-3
| Is This Answer Correct ? | 9 Yes | 9 No |
Answer / vasanth
I guess there is no Odd and Even theory in case of COMP-3
variable memory allocation calculation.
If there is an fractional output of M+N/2+1
Then the value is rounded off to its next value accordingly.
| Is This Answer Correct ? | 2 Yes | 2 No |
Answer / sid
Hi Friends;
Here I want to contribute a few lines in this discussion,
those might helpful to understand it very clearly.
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:
1 through 4 2 bytes (halfword)
5 through 9 4 bytes (fullword)
10 through 18 8 bytes (doubleword)
The operational sign for ?big-endian? binary data (such as
OS/390 and VM) is contained in the left most bit of the
binary data. The operational sign for ?little-endian? binary
data is contained in the left most bit of the right most
byte of the binary data.
PACKED-DECIMAL
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 low-order 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 4-bit sign
representation in zoned decimal fields.
Following is the range I found in a IBM COBOL Programming manual
Picture Storage representation Numeric values
S9(1) through S9(4) Binary half-word (2 bytes) -32768
through +32767
S9(5) through S9(9) Binary full-word (4 bytes)
-2,147,483,648 through
+2,147,483,647
S9(10) through S9(18) Binary double-word (8bytes)
-9,223,372,036,854,775,808 through +9.223,372,036,854,775,807
9(1) through 9(4) Binary half-word (2 bytes) 0 through 65535
9(5) through 9(9) Binary full-word (4 bytes) 0 through
4,294,967,295
9(10) through 9(18) Binary double-word (8bytes) 0 through
18,446,744,073,709,551,615
| Is This Answer Correct ? | 1 Yes | 2 No |
Comp3 will occupy from s9(1) to s9(18) . it wont exceed more
than it . So max value of comp3 is 10 bytes
i.e, 18/2 +1 = 9 + 1 = 10 bytes .
I thk i am correct .
| Is This Answer Correct ? | 1 Yes | 2 No |
Answer / mf buzz
Hi,
for pic 9(n) comp-3.
if n is even, then n/2 + 1 bytes
if n is odd, then int(n/2) bytes.
| Is This Answer Correct ? | 5 Yes | 9 No |
What happens in the background of spool when we submit a job for compilation and execution... This is a recent question in ibm...Kindly help me.....
What is static and dynamic call in cobol?
What is the difference between a binary search and a sequential search?
What guidelines should be followed to write a structured cobol prgm?
wht r the advantages of 77 level number ?
i was faced one question- i have value -00001234.56 Suppress the zeroes and the output should be -1234.56 But Not - 1234.56 spaces should not be available after suppressing the zeroes. logic in jcl and cobol?
How do you fetch current date in normal cobol pgm and in cobol-db2 pgm?
i have mainprogram and subgram...if i compile mainprogram without stop run..what will u get in compilation time?
In a program, there are 2 sections defined say SECTION-A and SECTION-B. There is a paragraph say CALC-INT in both the sections. If this para has to be called directly for SECTION-A, then PERFORM CALC-INT will not work as it is present in both sections. How the PERFORM statement has to be coded here?
Can you call an OS VS COBOL pgm from a VS COBOL II pgm ?
How to delete a front spaces in a data-name/variable in cobol Example:- 01 data-name-1 PIC x(20) value " cobol language". 01 data-name-2 PIC x(20). MOVE data-name-1 to data-name-2. would like the value of data-name-2 is "cobol language".
01 a pic x(6) value is abcdef 01 b pic x(3) move a to b wht will be the value in b ?