COBOLで乗算(掛け算)する方法について解説する

COBOLで掛け算

今回は加算(足し算)について解説します。
足し算についてはこちら、引き算についてはこちら、割り算についてはこちらで解説します。
演算子を使用することができるCOMPUTEについてはこちらで解説しています。

乗算(掛け算)

乗算

乗算は「MULTIPLY」を使用して行う。
まずは簡単な例を

MULTIPLY A BY B.

これは、「A × B」を計算して、計算結果を変数Bに代入するという意味。
数値を用いてやるとこんな感じ。

MULTIPLY 5 BY B.

これは、「5 × B」を計算して、計算結果を変数Bに代入するという意味になる。

「MULTIPLY」を使用した乗算では、変数Bの値は計算結果で上書きされてしまうので注意が必要。

注意点
MULTIPLY A B BY C.

上記のように、3つ以上の項目を掛け合わせることはできないため注意。

計算結果を異なる変数に代入

計算結果を異なる変数に代入したいときには、「GIVING」を指定する。

MULTIPLY A BY B GIVING C.

こうすることで、「A × B」の計算結果を変数Cに代入することができる。

計算結果を四捨五入する

計算結果を四捨五入したい場合には、「ROUNDED」を指定する。

MULTIPLY A BY B ROUNDED.

こんな感じ、
この時、変数Bが整数なのか、少数第何位まであるのかによって、どの位で四捨五入するかが決定する。

変数Bが少数第一位まであった場合

01 B PIC 99V9.

少数第二位を四捨五入し、結果は少数第一位までの数になる。
変数Bが整数であった場合

01 B PIC 99.

少数第一位で四捨五入し、結果は整数になる。

四捨五入について詳しくはこちら

計算結果を切り捨てする

計算結果を切り捨てする場合には、「ROUNDED」指定などせずとも、変数に合わせて自動的に切り捨てをしてくれる。

例えば以下のような変数であった場合

01 A PIC 99 VALUES 10.

この場合では、小数点以下の数は切り捨てし、自動的に整数にしてくれる。
では実際に計算をすると、

MULTIPLY 0.555 BY A.

「0.555 × 10」の計算結果は「5.55」であるが、今回は少数点以下を切り捨ててくれるので、計算結果は「5」となる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA