A *binary operator* on a set G is a
function> mapping GxG->G. That is, a binary
operator @ maps an ordered pair (g,h) (from GxG) to an element i of G.
Often binary operators are written using *infix* notation, as in i=g@h.

Order of precedence is important when evaluating arithmetic expressions. For example, the multiplicative operators bind more tightly than the additive operators, thus 3+4*5 groups as 3+(4*5)==23. The following list shows the categories of 'binary' operators in descending order of precedence (i.e. the higher up the list the tighter they bind).

- at/hash operators
- multiplicative operators
- additive operators
- shift operators
- relational operators
- equality operators
- bitwise and
- bitwise exclusive or
- bitwise or
- logical and
- logical or

The builtin unary operators are discussed in the sections titled prefix unary operators and postfix unary operators.