11.5 External Definitions
The MPLAB XC16 C compiler provides an include file,
stdfix.h, which provides constant, pragma, typedef, and function
definitions as described in section 7.18a of N1169.
Fixed point conversion specifiers for formatted I/O, as described in
section 4.1.9 “Formatted I/O functions for fixed-point arguments” of N1169, are not
supported in the current MPLAB XC16 standard C libraries. Fixed-point variables may be
displayed via (s)printf by casting them to the appropriate floating point
representation (double for _Fract, long
double for long _Fract and _Accum) and then
displaying the value in that format. To scan a fixed-point number via
(s)scanf, first scan it as the appropriate double or
long double floating point number and then cast the value obtained to
the desired fixed-point type.
The fixed point functions described in section 4.1.7 of N1169 are not provided in the current MPLAB XC16 standard C libraries.
Fixed point constants, with suffixes of k
(K) and r (R), as described in
section 4.1.5 of N1169, are supported by the MPLAB XC16 C compiler.
