всё просто, как я и говорил, чтобы получить отрицательное число, можно из нуля вычесть число
0 - 0x80000000 = 0 - 0x80000000
то есть в бинарном
0000...0000
1000...0000
=
1000...0000
не забываем занять то, чего нет
или другая известная формула для обратного кода
x = (~x)+1
где ~ побитовое отрицание.
то есть
+x = 1000...0000
~x = 0111...1111
-x = 1000...0000 (добавил 1)
то есть для нуля и 0x80000000 будет x == -x истинно, а вот почему для остальных ложь... а не важно!