表 1 は、デフォルトの精度規則についてさらに詳しく説明したものです。
| 命令 | 結果の精度 |
|---|---|
注: 次の演算では数値結果が作成されます。 L1 および L2 は、2 つのオペランドの桁数です。 Lr は結果の桁数です。 D1 および D2 は 2 つのオペランドの小数位の数です。 Dr は結果の小数位の数です。 T は一時的な値です。
|
|
| N1+N2 | T=min (max (L1-D1, L2-D2)+1, 63) Dr=min (max (D1,D2), 63-t) Lr=t+Dr |
| N1-N2 | T=min (max (L1-D1, L2-D2)+1, 63) Dr=min (max (D1,D2), 63-t) Lr=t+Dr |
| N1*N2 | Lr=min (L1+L2, 63) Dr=min (D1+D2, 63-min ((L1-D1)+(L2-D2), 63)) |
| N1/N2 | Lr=63 Dr=max (63-((L1-D1)+D2), 0) |
| N1**N2 | 倍精度浮動小数点 |
注: 次の演算では文字結果が作成されます。 Ln はオペランドの長さを文字数で表しています。
|
|
| C1+C2 | Lr=min(L1+L2,16773104) |
注: 次の演算では DBCS 結果が作成されます。 Ln はオペランドの長さを DBCS 文字数で表しています。
|
|
| D1+D2 | Lr=min(L1+L2,8386552) |
注: 次の演算では、サブタイプが標識である文字タイプの結果が作成されます。結果は常に標識値 (1 文字) です。
|
|
| V1=V2 | 1 (標識) |
| V1>=V2 | 1 (標識) |
| V1>V2 | 1 (標識) |
| V1<=V2 | 1 (標識) |
| V1<V2 | 1 (標識) |
| V1<>V2 | 1 (標識) |
| V1 AND V2 | 1 (標識) |
| V1 OR V2 | 1 (標識) |