COBOL Numeric Data Types-COMP

The following common COBOL data types are discussed below:

  • Binary
  • Computational (comp)
  • Comp-1
  • Comp-2
  • Comp-3
  • Packed Decimal

**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.

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.

COMPUTATIONAL or COMP Representation of the COMPUTATIONAL phrase is system-dependent and is normally assigned to representations that yield the greatest efficiency when arithmetic operations are performed on that system.

COMPUTATIONAL-1 or COMP-1 Specified for internal floating-point items (single precision). COMP-1 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.

COMPUTATIONAL-2 or COMP-2 Specified for internal floating-point items (double precision). COMP-2 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.

COMPUTATIONAL-3 or COMP-3 (internal decimal) For VS COBOL II, this is the equivalent of PACKED-DECIMAL.

**COMPUTATIONAL-4 or COMP-4 (binary) ** For VS COBOL II this is the equivalent of BINARY.

comments powered by Disqus