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.