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 |
can we declare s9(9)v9(9) in cobol ? if yes how many bytes it will occupy ?(urgent plz answer it)
How many sections are there in data division?.
when iam reading a flat file which has 100 records through cobol program when iam reading 50th records it gets abends .. so when i run the program again it should read from 50th record .where it got abened ? how it is possible
Why we are using comp and comp-3 in real time projects?
How do u initialize an array?
i Want All cobol ERROR codes?
there is a file whose ORGANISATION is INDEXED.you want to read the records from the file in RANDOM fashion as well as sequentially.then which of the access mode would you specify? a.SEQUENTIAL b.RANDOM c.DYNAMIC D.ACCESS MODE has nothing to do with it
What are the pertinent COBOL commands?
How can i load all the data from a file to Table (array) in cobol.How i manage the occurs clause with out reading the file.Any options avilable ? Please can any one help me it is urgent?
How can we find out wether to declare the data items like Integer, Char,Comp? If comp types how can we decide wether it is Comp and Comp3.How it is? Please Explain... Cheers.
should I use Go back in the main program ? Yes we can use Go back in main program as well.
is this below syntax correct? CALL 'subprg' using A,B Please help