

Technical Support OnLine Manuals Libraries and Floating Point Support Guide Preface The ARM C and C++ Libraries The ARM C Microlibrary Floatingpoint Support About floatingpoint support The software floatingpoint library, fplib Calling fplib routines fplib arithmetic on numbers in a particular format fplib conversions between floats, long longs, doub fplib comparisons between floats and doubles fplib C99 functions Controlling the ARM floatingpoint environment Floatingpoint functions for compatibility with Mi C99compatible functions for controlling the ARM f C99 rounding mode and floatingpoint exception mac Exception flag handling Functions for handling rounding modes Functions for saving and restoring the whole float Functions for temporarily disabling exceptions ARM floatingpoint compiler extensions to the C99 Writing a custom exception trap handler Example of a custom exception handler Exception trap handling by signals mathlib double and singleprecision floatingpoint IEEE 754 arithmetic Basic data types for IEEE 754 arithmetic Single precision data type for IEEE 754 arithmetic Double precision data type for IEEE 754 arithmetic Sample single precision floatingpoint values for Sample double precision floatingpoint values for IEEE 754 arithmetic and rounding Exceptions arising from IEEE 754 floatingpoint ar Exception types recognized by the ARM floatingpoi Using the Vector FloatingPoint (VFP) support libr The C and C++ Library Functions reference Floatingpoint Support Functions Reference 
Sample double precision floatingpoint values for IEEE 754 arithmetic
3.5.5 Sample double precision floatingpoint values for IEEE 754 arithmeticSample Table 310 Sample doubleprecision floatingpoint values
Related conceptsRelated referenceRelated information^{a}
The smallest representable number that can be seen to be greater than 1.0. The amount that it
differs from 1.0 is known as the machine epsilon. This is 0.000
000 119 in
float , and 0.000 000 000 000 000 222 in
double . The machine epsilon gives a rough idea of the number of
significant figures the format can keep track of. float can do six or
seven places. double can do fifteen or sixteen.^{b}
The smallest value that can be represented as a normalized number in each format. Numbers
smaller than this can be stored as denormals, but are not held with as much precision.
^{c}
The smallest positive number that can be distinguished from zero. This is the absolute lower
limit of the format.
^{d}
The largest finite number that can be stored. Attempting to increase this number by addition
or multiplication causes overflow and generates infinity (in general).
^{e}
Zero. Strictly speaking, they show plus zero. Zero with a sign bit of 1, minus zero, is
treated differently by some operations, although the comparison operations (for example
== and != ) report that the two types of zero are equal.^{f}
There are two types of NaNs, signaling NaNs and quiet NaNs. Quiet NaNs
have a 1 in the first bit of
Frac , and signaling NaNs have a
zero there. The difference is that signaling NaNs cause an
exception when used, whereas quiet NaNs do not.  

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.