The principal characteristics of a given real kind are its
values for **b** and **p** and its range for **e**.

IEEE arithmetic is
based upon a binary (**b**=2) representation in which **p**=24
(single precision), **p**=56 (double precision), and **-127<e<127**;
IEEE uses what would be an exponent of **-127** to represent
zero and NaNs (illegal or out-of-range values). A nonbinary
example is that of IBM 370 real arithmetic, in which **b**=16,
**p**=6 (single precision), **p**=14 (double precision), and
-127e127. In most implementations the main difference in the
representation of different real kinds is the value of **p**,
though it is possible (and occasionally happens) for the
value of **b** or the range of **e** to vary between kinds.