  As artificial structures, metamaterials are usually described by macroscopic
effective medium parameters, which are named as "analog metamaterials". Here,
we propose "digital metamaterials" in two steps. Firstly, we present "coding
metamaterials" that are composed of only two kinds of unit cells with 0 and
{\pi} phase responses, which we name as "0" and "1" elements. By coding "0" and
"1" elements with controlled sequences (i.e., 1-bit coding), we can manipulate
electromagnetic (EM) waves and realize different functionalities. The concept
of coding metamaterial can be extended from 1-bit coding to 2-bit or more. In
2-bit coding, four kinds of unit cells with phase responses 0, {\pi}/2, {\pi},
and 3{\pi}/2 are required to mimic "00", "01", "10" and "11" elements, which
have larger freedom to control EM waves. Secondly, we propose a unique
metamaterial particle which has either "0" or "1" response controlled by a
biased diode. Based on the particle, we present "digital metamaterials" with
unit cells having either "0" or "1" state. Using the field-programmable gate
array, we realize to control the digital metamaterial digitally. By programming
different coding sequences, a single digital metamaterial has distinct
abilities in manipulating EM waves, realizing the "programming metamaterials".
The above concepts and physical phenomena are confirmed by numerical
simulations and experiments through metasurfaces.
