サーチ…


前書き

計算節は、COBOLで使用される記憶域のタイプを記述するために使用されます。 COMP-1、COMP-2、COMP-3の3つの方法で使用されます。計算の最も一般的な形式はCOMP-3です。これはプログラマによって「COMP」と呼ばれることがよくあります。

COMP-3

データ項目はCOMP-3のパック10進形式で格納されます。パック10進形式は、各バイトの記憶域(下位バイトを除く)に2つ​​の10進数を含めることができることを意味します。下位バイトは、一番左の部分に1桁、右端に符号(正または負)を含みます。

下の画像の "Zoned decimal format"は、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コンパイラは通常、2,4,8バイトのサイズのComp、Comp-4、Comp-5をサポートします。 GNU Coboloは1,2,4,8のサイズをサポートしています。

Comp-1、Comp-2フィールドはpicture節なしで定義されます:

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