[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[記憶][メモリー]]上の大きさ。 * メモ