Next: , Previous: Operators, Up: Unit Expressions

5.2 Sums and Differences of Units

You may sometimes want to add values of different units that are outside the SI. You may also wish to use units as a calculator that keeps track of units. Sums of conformable units are written with the ‘+’ character, and differences with the ‘-’ character.

     You have: 2 hours + 23 minutes + 32 seconds
     You want: seconds
             * 8612
             / 0.00011611705
     You have: 12 ft + 3 in
     You want: cm
             * 373.38
             / 0.0026782366
     You have: 2 btu + 450 ft lbf
     You want: btu
             * 2.5782804
             / 0.38785542

The expressions that are added or subtracted must reduce to identical expressions in primitive units, or an error message will be displayed:

     You have: 12 printerspoint - 4 heredium
     Illegal sum of non-conformable units

As usual, the precedence for ‘+’ and ‘-’ is lower than that of the other operators. A fractional quantity such as 2 1/2 cups can be given as ‘(2+1|2) cups’; the parentheses are necessary because multiplication has higher precedence than addition. If you omit the parentheses, units attempts to add ‘2’ and ‘1|2 cups’, and you get an error message:

     You have: 2+1|2 cups
     Illegal sum or difference of non-conformable units

The expression could also be correctly written as ‘(2+1/2) cups’. If you write ‘2 1|2 cups’ the space is interpreted as multiplication so the result is the same as ‘1 cup’.

The ‘+’ and ‘-’ characters sometimes appears in exponents like ‘3.43e+8’. This leads to an ambiguity in an expression like ‘3e+2 yC’. The unit ‘e’ is a small unit of charge, so this can be regarded as equivalent to ‘(3e+2) yC’ or ‘(3 e)+(2 yC)’. This ambiguity is resolved by always interpreting ‘+’ and ‘-’ as part of an exponent if possible.