cobol
コブルにおける計算の仕組みは?
サーチ…
前書き
計算節は、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