Я думаю, что вопрос сам по себе объясняет, я думаю, он, вероятно, имеет какое-то отношение к переполнению, но все же я не совсем понимаю его. Что происходит, побитовое, под капотом?
Почему -(-2147483648) = -2147483648
(по крайней мере, при компиляции в C)?