Why does Visual Studio treats the constant -2147483648 (0x80000000) as unsigned?
From what I know this value is still within min limit for long.
Example, if you compile the following:
long a = -2147483648
The compiler will issue the following warning:
warning C4146: unary minus operator applied to unsigned type, result still unsigned type