富士通オフコン:GP6700-1、OS:ASP Version V10
のCOBOL で
例えば、WORKING-STRAGE SECTION で
01 WORK-AREA.
03 A PIC S9(10)V9(03).
03 B PIC S9(10)V9(03).
03 C PIC S9(10)V9(03).
03 D PIC S9(10)V9(03).
03 E PIC S9(10)V9(03).
03 F PIC S9(10)V9(03).
という項目があって
COMPUTE E = ( A + B ) * C / D.
COMPUTE F = A * B + C / D.
を実行する場合、
(1) A + B の結果を格納する中間ワーク(1)
(2) 中間ワーク(1) * C の結果を格納する中間ワーク(2)
(3) A * B の結果を格納する中間ワーク(3)
(4) C / D の結果を格納する中間ワーク(4)
の4つはコンパイラが所定のルールに従って用意すると思います。
この中間ワーク(1)、(2)、(3)、(4)の属性/桁数をコンパイラが決定する際のルールを
教えて下さい。
No.2ベストアンサー
- 回答日時:
富士通固有に決められているなら、判りませんが、
一般的には、有効小数点は、計算する式の最も多い桁になるはずですが・・・・・
たとえば、
02 A PIC 9(5).
02 B PIC 9(5).
MOVE 20 TO A.
MOVE 75 TO B.
COMPUTE A = A / B * 100.
これだと
Aは0ですね.
ちょっと 式を変えて
COMPUTE A = A * 1.00 / B * 100.
にすると
Aは26になりますね
COMPUTE A = (A * 1.00 / B + 0.005 )* 100 .
だと どうでしょうか Aは26のまま
COMPUTE A = (A * 1.000 / B + 0.005 )* 100 .
では、 A は 27ですね
パーセントを100で表示する際には、途中式で * 1.00000
などをすれば その桁が有効桁になります。
加算(+)、減算(-)でどれだけ小数桁を確保しても、元となる桁が優先されますので、積・商の元で桁を確保するのがいいと思います
回答にならず済みません・・・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- SOHO・在宅ワーク・内職 障害者雇用で在宅ワーク 3 2022/12/15 09:22
- アルバイト・パート バイトでWワークしたいんですけど今してるバイト先の店長になんて言えばいいのか分かりません。 バイト先 1 2022/10/22 01:10
- 教育・学習 受験勉強について 1 2022/07/22 21:51
- 中学校 どっちのワークがいいと思いますか? 3 2022/10/28 00:23
- 会社・職場 在宅ワークのアルバイト 2 2022/06/26 10:41
- その他(社会・学校・職場) 高校生です。3年です。 現在数学2Bと数学1Aの2種類の授業を受けていて、両方の授業で同じ一冊のワー 1 2022/07/07 14:18
- アルバイト・パート 1ヶ月ニートをしていて仕事復帰したのですが(工場)3時間労働のパートですらしんどいと感じてしまい不安 3 2022/06/26 18:54
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ソフトの開発言語を調べる方法
-
C++でデスクトップGUIアプリ開...
-
unsigned long long 型のフォー...
-
2つのマシンでコンパイルしたld...
-
for文内での変数定義
-
Σの計算について
-
C言語でのコンパイラの作成方法
-
HP-UXのプログラムをSolaris、R...
-
COBOL計算式の中間ワーク桁数に...
-
CとC++の変数宣言について
-
C言語 入出力ファイルの読み書...
-
Visual Studio でmakefileを使...
-
C言語はC言語でできている?
-
中国語(簡体字)をソースコード...
-
DOSの文字の色を変える方法。
-
リリースモードとデバッグモー...
-
COBOLの論理演算子について
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<math.h>があるのにsqrtが・...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
unsigned long long 型のフォー...
-
ソフトの開発言語を調べる方法
-
C++でデスクトップGUIアプリ開...
-
組み込みソフト。ROM領域にデータ
-
cc と gcc の違い
-
C++Builder → Visual C++ 移植...
-
printfなど、標準関数のソース...
-
COBOLのALPHABET...
-
COBOLの論理演算子について質問...
-
cobolで実行環境って何ですか?
-
Visual Studio でmakefileを使...
-
パーサとコンパイラの違いって?
-
昔のgraph.hというファイル
-
未使用引数の注意文出力を回避...
-
C言語でのコンパイラの作成方法
-
C言語はC言語でできている?
-
COBOL計算式の中間ワーク桁数に...
-
リリースモードとデバッグモー...
-
『Bin』ディレクトリは何の略語?
-
POWERCOBOLのSQL...
おすすめ情報