### 6.1 Temperature Conversions

Conversions between temperatures are different from linear conversions
between temperature *increments*—see the example below. The
absolute temperature conversions are handled by units starting with
‘`temp`’, and you must use functional notation.
The temperature-increment conversions are done using units starting
with ‘`deg`’ and they do not require functional notation.

You have: tempF(45)
You want: tempC
7.2222222
You have: 45 degF
You want: degC
* 25
/ 0.04

Think of ‘`tempF(``x`)’ not as a function but as a notation that
indicates that `x` should have units of ‘`tempF`’ attached to
it. See Defining Nonlinear Units. The first conversion shows that if it’s 45
degrees Fahrenheit outside, it’s 7.2 degrees Celsius. The second
conversion indicates that a change of 45 degrees Fahrenheit corresponds
to a change of 25 degrees Celsius. The conversion from
‘`tempF(``x`)’ is to absolute temperature, so that

You have: tempF(45)
You want: degR
* 504.67
/ 0.0019814929

gives the same result as

You have: tempF(45)
You want: tempR
* 504.67
/ 0.0019814929

But if you convert ‘`tempF(``x`)’ to ‘`degC`’, the output is
probably not what you expect:

You have: tempF(45)
You want: degC
* 280.37222
/ 0.0035666871

The result is the temperature in K, because ‘`degC`’ is defined as
‘`K`’, the Kelvin. For consistent results, use the ‘`temp``X`’ units
when converting to a temperature rather than converting a temperature
increment.

The ‘`tempC()`’ and ‘`tempF()`’ definitions are limited to
positive absolute temperatures, and giving a value that would result in
a negative absolute temperature generates an error message:

You have: tempC(-275)
^
Argument of function outside domain
^