Поиск…


Вступление

Вычисляющее предложение используется для описания типа хранилища, используемого в COBOL. Он используется для 3-х способов: COMP-1, COMP-2 и COMP-3. Наиболее распространенной формой вычисления является COMP-3. Программисты часто называют «COMP».

КОМП-3

Элемент данных хранится в упакованном десятичном формате на COMP-3. Упакованный десятичный формат означает, что каждый байт хранилища (за исключением младшего байта) может содержать два десятичных числа. Байт младшего порядка содержит одну цифру в самой левой части и знак (положительный или отрицательный) в самой правой части.

«Зонированный десятичный формат» на изображении ниже является хранилищем по умолчанию для числа в COBOL.

введите описание изображения здесь

01 WS-NUM PIC 9(5) USAGE IS COMP-3 VALUE 21544.

Вычислительное хранилище часто используется для уменьшения размера файла.

Общие реализации

Как реализованы comp, comp-1 ... comp-5, зависит от реализации.

Format     Normal Implementation

Comp       Big endian binary integer
Comp-1     4 byte floating point       
Comp-2     8 byte floating point 

Comp-3     Packed decimal 123 is stored as x'123c'

Comp-5     Binary Integer optermised for performance.
           Big Endian on the Mainframe, Little Endian on Intel Hardware

Компиляторы Ibm обычно поддерживают Comp, Comp-4, Comp-5 в размерах 2,4,8 байт. Размеры поддержки GNU Cobolo 1,2,4,8.

Поля Comp-1, Comp-2 определены без предложения картинки:

03 Floating-Field      Comp-1.
03 Double-Field        Comp-2

Для других компиляторов вводится изображение:

03 Big-Endian           Pic S9(4) Comp.
03 Packed-Decimal       Pic S9(5) Comp.


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow