- ベストアンサー
COBOLを最近はじめたのですが
COBOLを最近はじめたのですが データの定義のところで A PIC 9(10)S. B PIC S9(10). とあったのですがSの意味がわかりません。 左にあったり右にあったりします。 どちらも同じ意味なのでしょうか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
COBOLの正書法としては、Bです。 然し、COBOLはお使いのコンパイラで独自の拡張を行っている場合があります。これを「方言」と呼んでおります。コンパイル・エラーが出ていないのならば、そのコンパイラ独自の意味合い或いは許容になるのでしょう。 記者としては、止むを得ない場合を除いて「方言」の使用は避けた方が良いでしょう。 Bは、符号付の10桁の数値になります。
その他の回答 (2)
- Hardking
- ベストアンサー率45% (73/160)
回答No.2
Sの意味は、符号付きと言うことです。 その変数に転記したデータ値が 正の数ならば+、負の数ならば-が1バイト用いられます。 上記定義でコンパイルエラーが無いのであれば 符号が付く位置が前か後の違いです。
質問者
お礼
両方をDISPLAY文で出力したら同じように+1111のような形ででました。 おかげで前後の違いだけということで納得できました。ありがとうございます。
- pccrewe
- ベストアンサー率12% (30/245)
回答No.1
元コボラーですが、Aの形は知りません。間違いじゃないでしょうか。
質問者
お礼
実際これでコンパイル通っているものがあったので 独自のものかもしれません。
お礼
方言とかあるのですね。今回はいい勉強になりました。ありがとうございます。