人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

COBOLのPIC句で
PIC 9(07)
PIC S9(07)COMP?3
PIC S9(07)COMP
といろいろ書きますが、これらの具体的な説明が欲しいです。括弧内は桁数なのかバイト数なのか。COMPが何を表しているか等です。

できれば説明が載っているサイトを見たいですが、説明のみでも結構です。

●質問者: keronimo
●カテゴリ:コンピュータ
✍キーワード:いるか サイト バイト OB OL
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● Baku7770
●40ポイント

PICTURE??

PICTURE句の書き方が判りやすいのは、上のURLでしょう。

COMP形式の解説ですが、方言があるので敢えてCOMP-xが何だという決めつけは避けます。必ずマニュアルをご確認下さい。

?f?[?^?^

COBOLは十進数を基本として扱います。それではデータ長を考えると効率が悪い。そのためのnバイトの整数あるいは浮動小数点の数値の宣言です。

COBOLで浮動小数点を使うのは誤差が不明確となってしまうため、むしろ稀です。

私の記憶ではとある給与計算パッケージの年末調整で1000人に1人の割合で誤差が発生するといったバグで大騒ぎになったことがあります。

COBOL?R???\?[?V?A?? Web Site ?| ???p?Z?p ?| COBOL???p?Z?p?????? -??4??- ?Z?p???Z????x


2 ● かえる
●40ポイント

COBOLはあまり詳しくありませんが^^;


カッコ内は繰り返しの数です。

9(07)は、9999999と同じ意味になります。

つまり、数字が7桁の変数ということになります。

例えば20桁の文字列は本来XXXXXXXXXXXXXXXXXXXXと書く必要

のあるところを、X(20)と書けば済むようにする仕組みです。


COMP, COMP-3はメモリへの格納形式です。

数値の桁数と、メモリの使用量(バイト数)は異なりますが、

その辺は自動で処理するのでしょう。


COMP-3は10進化16進でメモリに格納されます。

メモリダンプでデバッグするときに便利です。

COMPは16進でメモリに格納されます。

アセンブラやCなどとリンクして、値を渡すときに便利です。


http://hp.vector.co.jp/authors/VA003991/kouza/beginner/kouza_cob...


3 ● pons
●40ポイント

sはサイン付き、符号(?とか+とか)付きの数字になります。

compは 格納形式

comp-3は 4ビットで1桁を格納し、最後の4ビットに符号

comp もしくは BINARYを記述すると、数値はバイナリ(16進)で格納されます。

カッコ内はバイト数ですが、まれに Nという二バイト文字(ひらがな、や漢字など2バイトを使って表示する日本語文字)の場合は2バイトで1文字分だったと記憶しています。

COBOL とか ?COBOLなど それぞれ独自で拡張の記載方法があると思います。

http://hp.vector.co.jp/authors/VA003991/kouza/beginner/kouza_cob...

http://ueno.cool.ne.jp/shirokaze185/htcobol.html#pic


4 ● antipattern
●40ポイント

PIC・・・はいわゆる変数宣言みたいなものです。

PICの後の「9」は数値型の変数であることを表し、「S9」は符号付き数字です。

このほかに「X」であれば文字、「N」であれば日本語(全角)文字を表します。

その後の括弧内の数字は文字数を表します。

従ってPIC 9(09)であれば数字9桁(9バイト)を表し、

PIC N(03)であれば日本語3文字(6バイト)を表します。

COMP、COMP-3についてですが、それぞれBINARYとPACKED-DECIMALと同じ意味です。(COMPはCOMPUTATIONALの略)

BINARYは数値を2進数で表すことを意味し、整数演算が早くなります。

一方のPACKED-DECIMALは10進数で表すことを意味し、少ない容量でデータを保存できるため、かつての保存媒体が高価だった時代には多用されていたそうです。

説明が載っているホームページで詳しいのが見つかりませんでしたので説明だけです。


5 ● kurukuru-neko
●10ポイント

PICTURE(PIC)はデータの形式

USAGE(COMP等)はデータの格納形式を指定します。

PICTURE / USAGEの解釈の方法

Microfocusのオンラインマニュアル

データ型概要

http://www.microfocus.co.jp/manuals/SE40SP2/classic/prwrit.htm

USAGE

http://www.microfocus.co.jp/manuals/SE40SP2/classic/lrpubb19.htm

PICTURE

http://www.microfocus.co.jp/manuals/SE40SP2/classic/lrpdf4.htm#s...

http://www.microfocus.co.jp/manuals/SE40SP2/classic/lrpubb19.htm

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ