3.4.6 乗除演算子
(1) 形式
- 乗算式
式 * 式
- 除算式
式 / 式
- 剰余算式
式 % 式
(2) 説明
乗除演算子は,オペランドの通常の算術変換をします。変換結果のデータ型は,オペランドのデータ型になります。両方のオペランドが数値である必要があります。オペランドの片方または両方がstring型の場合は,結果がエラーとなります。
- 乗算演算子(*)は,二つのオペランドを乗算します。オペランドはinteger型でもfloat型でもよく,型が異なっていてもかまいません。
- 除算演算子(/)は,一つ目のオペランドを二つ目のオペランドで除算します。オペランドはinteger型でもfloat型でもよく,型が異なっていてもかまいません。0で除算した場合の結果は未定義となりますが,文法チェック時またはランタイム時にエラーが発行されます。また,両方のオペランドが正の値または符号なしのときは,結果は0に切り捨てられます。
- 剰余演算子(%)オペランドは,整数でなければなりません。評価結果は,一つ目のオペランドが二つ目のオペランドで除算したあとの剰余になりますが,割り切れなければ評価結果は次の規則によって決まります。
- 右オペランドが0の場合は,結果は未定義となります。
- 両方のオペランドが正の値または符号なしの場合は,結果は正の値となります。
(3) 記述例
MAIN
{
if (sloop_cnt > 10)
AIT_Sleep(SLEEP_TIME / 2);
else
AIT_Sleep(SLEEP_TIME * 2);
endif;
}
(4) 備考
- 乗除演算子による変換処理は,オーバーフローやアンダーフロー状態に対応できないため,乗除演算子の変換結果がオペランドの型で示されない場合は,情報が欠落するおそれがあります。
- ランタイム時に0で除算すると,プログラムはERRORセクションに制御を移します。