Fixed-Point (Using the GNU Compiler Collection (GCC)) (original) (raw)


6.1.7 Fixed-Point Types

As an extension, GNU C supports fixed-point types as defined in the N1169 draft of ISO/IEC DTR 18037. Support for fixed-point types in GCC will evolve as the draft technical report changes. Calling conventions for any target might also change. Not all targets support fixed-point types.

The fixed-point types areshort _Fract,_Fract,long _Fract,long long _Fract,unsigned short _Fract,unsigned _Fract,unsigned long _Fract,unsigned long long _Fract,_Sat short _Fract,_Sat _Fract,_Sat long _Fract,_Sat long long _Fract,_Sat unsigned short _Fract,_Sat unsigned _Fract,_Sat unsigned long _Fract,_Sat unsigned long long _Fract,short _Accum,_Accum,long _Accum,long long _Accum,unsigned short _Accum,unsigned _Accum,unsigned long _Accum,unsigned long long _Accum,_Sat short _Accum,_Sat _Accum,_Sat long _Accum,_Sat long long _Accum,_Sat unsigned short _Accum,_Sat unsigned _Accum,_Sat unsigned long _Accum,_Sat unsigned long long _Accum.

Fixed-point data values contain fractional and optional integral parts. The format of fixed-point data varies and depends on the target machine.

Support for fixed-point types includes:

Use a suffix in a fixed-point literal constant:

GCC support of fixed-point types as specified by the draft technical report is incomplete:

Fixed-point types are supported by the DWARF debug information format.