[1] プログラム言語でよくある演算子。

* 二項算術演算子

- '''[CODE(math)[[VAR[a]] + [VAR[b]]]]''' (C): 加算。
- '''[CODE(math)[[VAR[a]] - [VAR[b]]]]''' (C): 減算。
- '''[CODE(math)[[VAR[a]] * [VAR[b]]]]''' (C): 乗算。
- '''[CODE(math)[[VAR[a]] / [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] div [VAR[b]]]]''': 除算。
言語や型 (整数 or 実数) によっていろいろ。
- '''[CODE(math)[[VAR[a]] % [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] mod [VAR[b]]]]''' 剰余。
負数の扱いは言語によっていろいろ。
- '''[CODE(math)[[VAR[a]] ** [VAR[b]]]]''',
'''[CODE(math)[[VAR[a]] ^ [VAR[b]]]]''' 冪乗。
言語によって色々。

* 単項算術演算子

- '''[CODE(math)[[VAR[a]]++]]''' (C),
'''[CODE(math)[++[VAR[a]]]]''' (C): 1足す。
- '''[CODE(math)[[VAR[a]]--]]''' (C),
'''[CODE(math)[--[VAR[a]]]]''' (C): 1引く。
- '''[CODE(math)[+[VAR[a]]]]''' (C): 単項プラス。言語によってはない。
- '''[CODE(math)[-[VAR[a]]]]''' (C),
'''[CODE(math)[~[VAR[a]]]]''': 単項マイナス。

* 二項 (ビット) 論理演算子

- '''[CODE(math)[[VAR[a]] & [VAR[b]]]]''' (C): ビットごとの論理積。
- '''[CODE(math)[[VAR[a]] | [VAR[b]]]]''' (C): ビットごとの論理和。

- '''[CODE(math)[[VAR[a]] << [VAR[b]]]]''' (C): 左ビットシフト。
- '''[CODE(math)[[VAR[a]] >> [VAR[b]]]]''' (C): 右ビットシフト。

- '''[CODE(math)[[VAR[a]] ^ [VAR[b]]]]''' (C): ビットごとの排他的論理和。
あまり使わない。言語によって色々。

* 二項 (ビット) 論理演算子

- '''[CODE(math)[~[VAR[a]]]]''' (C): ビットごとの論理否定。
あまり使わない。言語によって色々。

* 二項 (boolean) 論理演算子

- '''[CODE(math)[[VAR[a]] && [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] and [VAR[b]]]]''': 論理積。
言語によって色々。
- '''[CODE(math)[[VAR[a]] || [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] or [VAR[b]]]]''': 論理和。
言語によって色々。

* 単項 (boolean) 論理演算子

- '''[CODE(math)[![VAR[a]]]]''' (C),
'''[CODE(math)[not [VAR[a]]]]''': 論理否定。
言語によって色々。

* 三項 (boolean) 論理演算子

- '''[CODE(math)[[VAR[a]] ? [VAR[b]] : [VAR[c]]]]''' (C): 
[CODE[if ([VAR[a]]) { [VAR[b]] } else { [VAR[c]] }]]

* 二項比較演算子

- '''[CODE(math)[[VAR[a]] < [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] > [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] <= [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] >= [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] lt [VAR[b]]]]''',
'''[CODE(math)[[VAR[a]] gt [VAR[b]]]]''',
'''[CODE(math)[[VAR[a]] le [VAR[b]]]]''',
'''[CODE(math)[[VAR[a]] ge [VAR[b]]]]''':
不等号。言語によって色々。
- '''[CODE(math)[[VAR[a]] = [VAR[b]]]]''',
'''[CODE(math)[[VAR[a]] == [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] eq [VAR[b]]]]''': 等号。言語によって色々。
- '''[CODE(math)[[VAR[a]] != [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] ne [VAR[b]]]]''': 不等号。言語によって色々。

* 二項代入演算子

- '''[CODE(math)[[VAR[a]] = [VAR[b]]]]''' (C),
'''[CODE(math)[[VAR[a]] := [VAR[b]]]]''',
'''[CODE(math)[[VAR[a]] <= [VAR[b]]]]''': 代入。
言語によって色々
- '''[CODE(math)[[VAR[a]] += [VAR[b]]]]''' など (C): 
加算などとの複合的な代入。

* ポインタ

- '''[CODE(math)[&[VAR[a]]]]''' (C):
変数 [CODE[[VAR[a]]]] の[RUBY[番地][アドレス]]。
- '''[CODE(math)[*[VAR[a]]]]''' (C):
変数 [CODE[[VAR[a]]]] (ポインタ) の[RUBY[番地][アドレス]]の指す内容。

* 型

- '''[CODE(math)[([VAR[type]]) [VAR[a]]]]''' (C):
型キャスト。
- '''[CODE(math)[sizeof [VAR[a]]]]''' (C):
変数 [CODE[[VAR[a]]]] の[RUBY[記憶][メモリー]]上の大きさ。


* メモ

