Ниже был комментарий про особенности представления отрицательных чисел в компьюерной технике.
Если быть кратким, то -1 записывается как 1111 1111.
Иначе говоря, если a — какое-то число, то b = ~a + 1 — противоположное число, на примере 1111 1111
~a == 0000 0000
`a + 1 == 0000 0001
Это сделано для того, чтобы сложение и вычитание не зависело от знака числа, и процессор мог не проверять число на знак, используя одинаковую арифметику.