The `units` program converts quantities expressed in various
systems of measurement to their equivalents in other systems of
measurement. Like many similar programs, it can handle multiplicative
scale changes. It can also handle nonlinear conversions such as
Fahrenheit to
Celsius;^{1}
see Temperature Conversions.
The program can also perform conversions from and to sums of
units, such as converting between meters and feet plus inches.

Basic operation is simple: you enter the units that you want to convert
*from* and the units that you want to convert *to*.
You can use the program interactively with prompts, or you can use it
from the command line.

Beyond simple unit conversions, `units` can be used as a
general-purpose scientific calculator that keeps track of units in its
calculations. You can form arbitrary complex mathematical expressions
of dimensions including sums, products, quotients, powers, and even roots
of dimensions. Thus you can ensure accuracy and dimensional consistency
when working with long expressions that involve many different units
that may combine in complex ways; for an illustration,
see Complicated Unit Expressions.

The units are defined in an external data file. You can use the extensive data file that comes with this program, or you can provide your own data file to suit your needs. You can also use your own data file to supplement the standard data file.

You can change the default behavior of `units` with various
options given on the command line. See Invoking Units, for a
description of the available options.

[1] But Fahrenheit to Celsius is linear, you insist. Not so. A transformation T is linear if T(x+y)=T(x)+T(y) and this fails for T(x)=ax+b. This transformation is affine, but not linear.