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.