Definitions

# Order of operations

In algebra and computer programming, when a number or expression is both preceded and followed by a binary operation, a rule is required for which operation should be applied first; this rule is known as an order of operations . From the earliest use of mathematical notation, multiplication took precedence over addition, whichever side of a number it appeared on. Thus 3 + 4 × 5 = 5 × 4 + 3 = 23. When exponents were first introduced, in the 16th and 17th centuries, exponents took precedence over both addition and multiplication, and could be placed only as a superscript to the right of their base. Thus 3 + 5 2 = 28 and 3 × 5 2 = 75. To change the order of operations, a vinculum (an overline or underline) was originally used. Today one uses parentheses (). Thus, if one wants to force addition to precede multiplication, one writes (3 + 4) × 5 = 35.

## The standard order of operations

The order of operations, or precedence, is expressed in the following chart.

exponents and roots
:
multiplication and division
:

In the absence of parentheses, horizontal fraction lines, a bar over a radicand, or other symbols of grouping, do all exponents and roots first. Stacked exponents must be done from the top down. After taking all exponents and roots, then do all multiplication and division. Finally, do all addition and subtraction.

It is helpful to treat division as multiplication by the reciprocal and subtraction as addition of the opposite. Thus 3/4 = 3 ÷ 4 = 3 • ¼ and −4 + 3 is the sum of negative four and positive three.

If an expression involves parentheses, then do the arithmetic inside the innermost pair of parentheses first and work outward, or use the distributive law to remove parentheses. Root symbols have a bar (called vinculum) over the radicand which acts as a symbol of grouping: $sqrt\left\{1+3\right\}+5=sqrt4+5=2+5=7$. A horizontal fractional line also acts as a symbol of grouping: $frac\left\{1+2\right\}\left\{3+4\right\}+5=frac37+5$.

The order in which the unary operator − (usually read "minus") acts is often problematical. In written or printed mathematics, $-3^2=-\left(3^2\right)=-9$, but in some applications and programming languages, notably the application Microsoft Office Excel and the programming language bc, unary operators have a higher priority than binary operators, that is, the unary minus (negation) has higher precedence than exponentiation, so in those languages $-3^2=\left(-3\right)^2=9$, .

## Examples from arithmetic

1. Evaluate subexpressions contained within parentheses, starting with the innermost expressions. (Brackets [] are used here to indicate what is evaluated next.)

$\left(4+10/2\right)/9=\left(4+\left[10/2\right]\right)/9=\left[4+5\right]/9=\left[9/9\right]=1 ,$

2. Evaluate exponential powers; for iterated powers, start from the right:

$2^\left\{3^2\right\}=2^\left\{\left[3^2\right]\right\}=\left[2^9\right]=512 ,$

3. Evaluate multiplications and divisions, starting from the left:

$8/2times3=\left[8/2\right]times3=\left[4times3\right]=12 ,$

4. Evaluate additions and subtractions, starting from the left:

$7-2-4+1=\left[7-2\right]-4+1=\left[5-4\right]+1=\left[1+1\right]=2 ,$

5. Evaluate negation on the same level as subtraction, starting from the left:

$-3^2=-\left[3^2\right]=-9 ,$

### Acronyms

In the United States, the acronym PEMDAS (for Parentheses, Exponentiation, Multiplication/Division, Addition/Subtraction) is used, sometimes expressed as the mnemonic "Please Excuse My Dear Aunt Sally" or one of many other variations.

In Canada, an acronym BEDMAS is often used as a mnemonic for Brackets, Exponents, Division, Multiplication, Addition, and Subtraction.

In the UK, Australia, New Zealand and South Africa, the acronym BODMAS is commonly used for Brackets, Order, Division, Multiplication, Addition, Subtraction. Since multiplication and division are of the same rank, this is sometimes written as BOMDAS, BIDMAS or BIMDAS where I stands for Indices.

Warning: Multiplication and division are of equal precedence, and addition and subtraction are of equal precedence. Using any of the above rules in the order addition first, subtraction afterward would give the wrong answer to

$10 - 3 + 2 ,$

The correct answer is 9, which is best understood by thinking of the problem as the sum of positive ten, negative three, and positive two.

$10 + \left(-3\right) + 2 ,$

It is usual, wherever one needs to calculate operations of equal precedence to work from left to right. The following rules of thumb are useful:

First: perform any calculations inside parentheses (brackets)

Second: Next perform all multiplication and division, working from left to right

Third: Lastly perform all addition and subtraction, working from left to right

However, with experience, the commutative law, associative law, and distributive law allow shortcuts. For example,

$17 times 24 / 12 ,$

is much easier when worked from right to left, where here the answer is 34.

### More examples

• Given:

$3-\left(5-\left(7+1\right)\right)^2times\left(-5\right)+3 ,$

• Evaluate the innermost subexpression (7 + 1):

$3-\left(5-8\right)^2times\left(-5\right)+3 ,$

• Evaluate the subexpression within the remaining parentheses (5 − 8):

$3-\left(-3\right)^2times\left(-5\right)+3 ,$

• Evaluate the power of (−3)2:

$3-9times\left(-5\right)+3 ,$

• Evaluate the multiplication 9 × (−5):

$3-\left(-45\right)+3 ,$

• Evaluate the subtraction 3 − (−45):

$48 + 3 ,$

• Evaluate the addition 48 + 3:

$48 + 3 = 51 ,$

## Proper use of parentheses and other grouping symbols

When restricted to using a straight text editor, parentheses (or more generally "grouping symbols") must be used generously to make up for the lack of graphics, like square root symbols. Here are some rules for doing so:

1) Whenever there is a fraction formed with a slash, put the numerator (the number on top of the fraction) in one set of parentheses, and the denominator (the number on the bottom of the fraction) in another set of parentheses. This is not required for fractions formed with underlines:

y = (x+1)/(x+2)

2) Whenever there is an exponent using the caret (^) symbol, put the base in one set of parentheses, and the exponent in another set of parentheses:

y = (x+1)^(x+2)

3) Whenever there is a trig function, put the argument of the function, typically shown in bold and/or italics, in parentheses:

y = sin(x+1)

4) The rule for trig functions also applies to any other function, such as square root. That is, the argument of the function should be contained in parentheses:

y = sqrt(x+1)

5) An exception to the rules requiring parentheses applies when only one character is present. While correct either way, it is more readable if parentheses around a single character are omitted:

y = (3)/(x) or y = 3/x

y = (3)/(2x) or y = 3/(2x)

y = (x)^(5) or y = x^5

y = (2x)^(5) or y = (2x)^5

y = (x)^(5z) or y = x^(5z)

Calculators generally require parentheses around the argument of any function. Printed or handwritten expressions sometimes omit the parentheses, provided the argument is a single character. Thus, a calculator or computer program requires:

y = sqrt(2)

y = tan(x)

while a printed text may have:

y = sqrt 2

y = tan x.

6) Whenever anything can be interpreted multiple ways, put the part to be done first in parentheses, to make it clear.

7) One may alternate use of the different grouping symbols (parentheses, brackets, and braces) to make expressions more readable. For example:

y = { 2 / [3 / (4 / 5 ) ] }

y = (2 / (3 / (4 / 5 ) ) )

Note that certain applications, like computer programming, will restrict one to certain grouping symbols.

## Special cases

In the case of a factorial in an expression, it is evaluated before exponents and roots, unless grouping symbols dictate otherwise. When new operations are defined, they are generally presumed to take precedence over other operations, unless overridden by grouping symbols.

Sometimes a dash or a heavy dot is used as a multiplication sign which has higher precedence than division. For example

$J/\left(kg K\right);$
$J/kgmbox\left\{-\right\}K;$
$J/kgbullet K;$

are all equivalent.

## Calculators

Different calculators follow different orders of operations. Cheaper calculators without a stack work left to right without any priority given to different operators, for example giving

$1 + 2 times 3 = 9, ;$
while more sophisticated calculators will use a more standard priority, for example giving
$1 + 2 times 3 = 7. ;$
The Microsoft Calculator program uses the former in its standard view and the latter in its scientific view.

The "cheap" calculator expects two operands and an operator. When the next operator is pressed, the expression is immediately evaluated and the answer becomes the left hand of the next operator. Advanced calculators allow entry of the whole expression, grouped as necessary, and only evaluates when the user uses the equals sign.

Calculators may associate exponents to the left or to the right depending on the model. For example, the expression $a wedge b wedge c$ on the TI-92 and TI-30XII (both Texas Instruments calculators) associates two different ways:

The TI-92 associates to the right, that is

$a wedge b wedge c=a wedge \left(b wedge c\right) = a^\left\{\left(b wedge c\right)\right\} = a^\left\{\left(b^\left\{c\right\}\right)\right\} = a^\left\{b^\left\{c\right\}\right\}$

whereas, the TI-30XII associates to the left, that is

$a wedge b wedge c=\left(a wedge b\right) wedge c=\left(a^\left\{b\right\}\right)^\left\{c\right\}.$

An expression like 1/2x is interpreted as 1/(2x) by TI-82, but as (1/2)x by TI-83. While the first interpretation may be expected by some users, only the latter is in agreement with the standard rules stated above.

## Mathematical precedence

Many programming languages use precedence levels that conform to the order commonly used in mathematics, though some, such as APL, have no operator precedence rules (in APL evaluation is strictly right to left).

The logical bitwise operators in C (and all programming languages that borrowed precedence rules from C, for example, C++, Perl and PHP) have a precedence level that the author of the language considers to be less than ideal. The relative precedence levels of operators found in many C-style languages is as follows:

 1 []   ->   .   :: Grouping, scope, array/member access 2 !   ~   -   +   *   &   sizeof   type cast (most) unary operations, sizeof and type casts 3 *   /   % Multiplication, division, modulo 4 +   - Addition and subtraction 5 <<   >> Bitwise shift left and right 6 <   <=   >   >= Comparisons: less-than, ... 7 ==   != Comparisons: equal and not equal 8 & Bitwise AND 9 ^ Bitwise exclusive OR 10 | Bitwise inclusive (normal) OR 11 && Logical AND 12 || Logical OR 13 ?: - 14 =   +=   -=   *=   /=   %=   &=   |=   ^=   <<=   >>= Assignment operators

Examples:

• !A + !B $equiv$ (!A) + (!B)
• ++A + !B $equiv$ (++A) + (!B)
• A * B + C $equiv$ (A * B) + C
• A AND B OR C $equiv$ (A AND B) OR C