2 項式 には、1 つの演算子によって 分離される 2 つのオペランドが含まれます。
すべての 2 項演算子に、同じ優先順位が付けられるわけではありま せん。
すべての 2 項演算子 は、左から右への結合順序が指定されます。
ほとんどの 2 項演算子のオペランドが評価される順序は、 指定されていません。正しい結果を得るためには、コンパイラーがオペランドを評価する順序 に依存する 2 項式を作成しないようにします。
次の説明で示されているように、ほとんどの 2 項式のオペランドで、 通常の算術変換を実行することができます。
次の表に、2 項式の演算子が要約されています。
2 項演算子の優先順位と結合順序 | |||
ランク | 右結合 ? | 演算子関数 | 使用法 |
---|---|---|---|
5 |
| 乗算 | expr * expr |
5 |
| 除法 | expr / expr |
5 |
| モジュロ (剰余) | expr % expr |
6 |
| 2 項加算 | expr + expr |
6 |
| 2 項減算 | expr - expr |
7 |
| 左へのビット単位シフト | expr << expr |
7 |
| 右へのビット単位シフト | expr >> expr |
8 |
| より小さい | expr < expr |
8 |
| より小さいまたは等しい | expr <= expr |
8 |
| より大きい | expr > expr |
8 |
| より大きいまたは等しい | expr >= expr |
9 |
| 等しい | expr == expr |
9 |
| 等しくない | expr != expr |
10 |
| ビット単位 AND | expr & expr |
11 |
| ビット単位排他 OR | expr ^ expr |
12 |
| ビット単位包含 OR | expr | expr |
13 |
| 論理 AND | expr && expr |
14 |
| 論理包含 OR | expr || expr |
16 | はい | 単純代入 | lvalue = expr |
16 | はい | 乗算および代入 | lvalue *= expr |
16 | はい | 除法および代入 | lvalue /= expr |
16 | はい | モジュロおよび代入 | lvalue %= expr |
16 | はい | 加算および代入 | lvalue += expr |
16 | はい | 減算および代入 | lvalue -= expr |
16 | はい | 左へのシフトおよび代入 | lvalue <<= expr |
16 | はい | 右へのシフトおよび代入 | lvalue >>= expr |
16 | はい | ビット単位 AND および代入 | lvalue &= expr |
16 | はい | ビット単位排他 OR および代入 | lvalue ^= expr |
16 | はい | ビット単位包含 OR および代入 | lvalue |= expr |
18 |
| コンマ (順序付け) | expr , expr |
関連参照