  A rational number is dyadic if it has a finite binary representation $p/2^k$,
where $p$ is an integer and $k$ is a nonnegative integer. Dyadic rationals are
important for numerical computations because they have an exact representation
in floating-point arithmetic on a computer. A vector is dyadic if all its
entries are dyadic rationals. We study the problem of finding a dyadic optimal
solution to a linear program, if one exists. We show how to solve dyadic linear
programs in polynomial time. We give bounds on the size of the support of a
solution as well as on the size of the denominators. We identify properties
that make the solution of dyadic linear programs possible: closure under
addition and negation, and density, and we extend the algorithmic framework
beyond the dyadic case.
