Microchip Technology SW006023-2N Data Sheet
MPLAB
®
XC32 C/C++ Compiler User’s Guide
DS51686E-page 194
2012 Microchip Technology Inc.
18.8
INTEGERS
18.9
FLOATING-POINT
ISO Standard:
“The current locale used to convert a wide string literal into correspond-
ing wide character codes (C90 6.1.4, C99 6.4.5).”
ing wide character codes (C90 6.1.4, C99 6.4.5).”
Implementation:
LC_ALL
ISO Standard:
“The value of a string literal containing a multibyte character or escape
sequence not represented in the execution character set (C90 6.1.4,
C99 6.4.5).”
sequence not represented in the execution character set (C90 6.1.4,
C99 6.4.5).”
Implementation:
The binary representation of the characters is preserved from the
source character set.
source character set.
ISO Standard:
“Any extended integer types that exist in the implementation (C99
6.2.5).”
6.2.5).”
Implementation:
There are no extended integer types.
ISO Standard:
“Whether signed integer types are represented using sign and magni-
tude, two’s complement, or one’s complement, and whether the
extraordinary value is a trap representation or an ordinary value (C99
6.2.6.2).”
tude, two’s complement, or one’s complement, and whether the
extraordinary value is a trap representation or an ordinary value (C99
6.2.6.2).”
Implementation:
All integer types are represented as two’s complement, and all bit pat-
terns are ordinary values.
terns are ordinary values.
ISO Standard:
“The rank of any extended integer type relative to another extended
integer type with the same precision (C99 6.3.1.1).”
integer type with the same precision (C99 6.3.1.1).”
Implementation:
No extended integer types are supported.
ISO Standard:
“The result of, or the signal raised by, converting an integer to a signed
integer type when the value cannot be represented in an object of that
type (C90 6.2.1.2, C99 6.3.1.3).”
integer type when the value cannot be represented in an object of that
type (C90 6.2.1.2, C99 6.3.1.3).”
Implementation:
When converting value X to a type of width N, the value of the result is
the Least Significant N bits of the 2’s complement representation of X.
That is, X is truncated to N bits. No signal is raised.
the Least Significant N bits of the 2’s complement representation of X.
That is, X is truncated to N bits. No signal is raised.
ISO Standard:
“The results of some bitwise operations on signed integers (C90 6.3,
C99 6.5).”
C99 6.5).”
Implementation:
Bitwise operations on signed values act on the 2’s complement repre-
sentation, including the sign bit. The result of a signed right shift
expression is sign extended.
C99 allows some aspects of signed ‘<<’ to be undefined. The compiler
does not do so.
sentation, including the sign bit. The result of a signed right shift
expression is sign extended.
C99 allows some aspects of signed ‘<<’ to be undefined. The compiler
does not do so.
ISO Standard:
“The accuracy of the floating-point operations and of the library func-
tions in <math.h> and <complex.h> that return floating-point results
(C90 and C99 5.2.4.2.2).”
tions in <math.h> and <complex.h> that return floating-point results
(C90 and C99 5.2.4.2.2).”
Implementation:
The accuracy is unknown.
ISO Standard:
“The accuracy of the conversions between floating-point internal repre-
sentations and string representations performed by the library functions
in <stdio.h>, <stdlib.h>, and <wchar.h> (C90 and C99 5.2.4.2.2).”
sentations and string representations performed by the library functions
in <stdio.h>, <stdlib.h>, and <wchar.h> (C90 and C99 5.2.4.2.2).”
Implementation:
The accuracy is unknown.
ISO Standard:
“The rounding behaviors characterized by non-standard values of
FLT_ROUNDS (C90 and C99 5.2.4.2.2).”
FLT_ROUNDS (C90 and C99 5.2.4.2.2).”
Implementation:
No such values are used.
ISO Standard:
“The evaluation methods characterized by non-standard negative val-
ues of FLT_EVAL_METHOD (C90 and C99 5.2.4.2.2).”
ues of FLT_EVAL_METHOD (C90 and C99 5.2.4.2.2).”
Implementation:
No such values are used.