We have question about INT16/INT32 multiplication by “-1” but given by minimum negative number:
Is this CPU limitation or compiler error that result value is not changed ?
PS.
In limits.h we have minimum values for 16 bits:
#define SHRT_MIN (-SHRT_MAX-1) /* MIN VALUE FOR SHORT */
#define SHRT_MAX 32767 /* MAX VALUE FOR SHORT */
and for 32 bits:
#define INT_MIN (-INT_MAX-1) /* MIN VALUE FOR INT */
#define INT_MAX 2147483647 /* MAX VALUE FOR INT */