次のプログラムの[1]と[2]を比較します。
77 X PIC S99 VALUE 10. 77 Y PIC S9 VALUE 3. 77 Z PIC S999V99. COMPUTE Z = X / Y * 100. [1] COMPUTE Z = X * 100 / Y. [2]
[1]の答はZ=333.00、[2]の答はZ=333.33となります。
この違いは、除算を行うタイミングによって発生します。
どちらも、除算の結果はXとZの小数部桁数の大きい方、すなわち小数第2位まで求められます。[1]では、X/Yが3.33と求められ、これが100倍されます。[2]ではX*100の中間結果である1000がYで割られ、333.33が求まります。
よって精度のよい結果を求めるには、[2]のように、乗算を先に除算を後に行ってください。