• ベストアンサー

COBOLを最近はじめたのですが

COBOLを最近はじめたのですが データの定義のところで A PIC 9(10)S. B PIC S9(10). とあったのですがSの意味がわかりません。 左にあったり右にあったりします。 どちらも同じ意味なのでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • LN-TF
  • ベストアンサー率53% (320/596)
回答No.3

COBOLの正書法としては、Bです。 然し、COBOLはお使いのコンパイラで独自の拡張を行っている場合があります。これを「方言」と呼んでおります。コンパイル・エラーが出ていないのならば、そのコンパイラ独自の意味合い或いは許容になるのでしょう。 記者としては、止むを得ない場合を除いて「方言」の使用は避けた方が良いでしょう。 Bは、符号付の10桁の数値になります。

sakage88
質問者

お礼

方言とかあるのですね。今回はいい勉強になりました。ありがとうございます。

その他の回答 (2)

  • Hardking
  • ベストアンサー率45% (73/160)
回答No.2

Sの意味は、符号付きと言うことです。 その変数に転記したデータ値が 正の数ならば+、負の数ならば-が1バイト用いられます。 上記定義でコンパイルエラーが無いのであれば 符号が付く位置が前か後の違いです。

sakage88
質問者

お礼

両方をDISPLAY文で出力したら同じように+1111のような形ででました。 おかげで前後の違いだけということで納得できました。ありがとうございます。

  • pccrewe
  • ベストアンサー率12% (30/245)
回答No.1

元コボラーですが、Aの形は知りません。間違いじゃないでしょうか。

sakage88
質問者

お礼

実際これでコンパイル通っているものがあったので 独自のものかもしれません。

関連するQ&A