As an extension, GNU C supports decimal floating types as defined in the N1312 draft of ISO/IEC WDTR24732. Support for decimal floating types in GCC will evolve as the draft technical report changes. Calling conventions for any target might also change. Not all targets support decimal floating types.
The decimal floating types are _Decimal32
, _Decimal64
, and _Decimal128
. They use a radix of ten, unlike the floating types float
, double
, and long double
whose radix is not specified by the C standard but is usually two.
Support for decimal floating types includes the arithmetic operators add, subtract, multiply, divide; unary arithmetic operators; relational operators; equality operators; and conversions to and from integer and other floating types. Use a suffix ‘df’ or ‘DF’ in a literal constant of type _Decimal32
, ‘dd’ or ‘DD’ for _Decimal64
, and ‘dl’ or ‘DL’ for _Decimal128
.
GCC support of decimal float as specified by the draft technical report is incomplete:
__STDC_DEC_FP__
to indicate that the implementation conforms to the technical report. Types _Decimal32
, _Decimal64
, and _Decimal128
are supported by the DWARF debug information format.
Next: Hex Floats, Previous: Half-Precision, Up: C Extensions [Contents][Index]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Decimal-Float.html