算術演算子を使用すると、1 つ以上の変数、定数、組み込み関数から構成される複数オペランドを結合できます。 算術式の結果は、ほかの式とほぼ無期限に結合できます。 算術式の構文は次のとおりです。
expression operator expression
表 1 には、BASIC で使用される算術演算子が評価の順番にリストされます。
| 演算子 | 処理 | サンプル式 |
|---|---|---|
| - | 否定 | -X |
| ^
** |
累乗 | X ^ Y X ** Y |
| * / |
乗算 除算 |
X * Y X / Y |
| + - |
加算 減算 |
X + Y X - Y |
括弧を使用すると、評価の順序を変更できます。括弧で囲まれた式の演算は、括弧の外よりも優先的に実行されます。
次の式は、112 + 6 + 2 または 120 と評価されます。
(14 * 8) + 12 / 2 + 2
一方、次の式は 14 * 20 / 4、または 280 / 4、または 70 と評価されます。
14 * (8 + 12) / (2 + 2)
NULL 値が関係する算術演算の結果は必ず NULL 値になります。 これは、NULL 値が不明な値であり、不明な値をどんな値と組み合わせても結果は不明な値となるためです。 したがって、次の例の B は NULL 値になります。
A = @NULL
B = 3 + A
算術式の値は、内部的にシステムの完全精度の浮動小数点数として保持されます。
数字しか含まれていない文字ストリング変数を算術式に使用すると、この文字ストリングは数値変数として処理されます。 つまり、算術式では、数字のストリングが内部的に数値に変換されて数値として評価されます。 例えば、次の式は 77 と評価されます。
55 + "22"
数字以外の文字を含む文字ストリング変数を算術式に使った場合は、警告メッセージが表示され、この文字ストリングはゼロとして処理されます。 例えば、次の式は 85 と評価され、データが数値でないことを示す警告メッセージが表示されます。
"5XYZ" + 85
INFORMATION または PIOPEN フレーバー・アカウントでコンパイルした BASIC プログラムは、繰り返し列データを演算するための命令を備えています。 次のステートメントは、INFORMATION または PIOPEN フレーバー・アカウントでコンパイルしたプログラムであれば処理できます。
C = (23:@VM:46) * REUSE(2)
IDEAL、PICK、PIOPEN、REALITY、または IN2 フレーバー・アカウントでコンパイルした BASIC プログラムでは、ストリングが単一値の数値として解釈できる場合に限り、そのストリング・データに対して算術演算を実行できます。 上記のステートメントは、IDEAL、PICK、PIOPEN、REALITY、または IN2 フレーバー・アカウントでもコンパイルできますが、実行時にはエラーが発生します。 REUSE 関数は、2 をストリングに変換しますが、あとで、算術演算の場合に、このストリングを数値に変換し直す必要があります。これは、無害です。 複数値ストリングは、数値に変換できず、非数値データ 警告が出されます。
IDEAL フレーバーでは、複数値データの算術演算によるパフォーマンスの悪化を防ぐため、算術演算が単一値データで行われます。IDEAL、PICK、PIOPEN、IN2、および REALITY フレーバー・アカウントで、複数値算術計算を実行するには、$OPTIONS ステートメントの VEC.MATH オプションを使用します。