How to prove that the C statement -x, ~x+1, and ~(x-1) yield the same results?
Consider what you get when you add a number to its bitwise complement. The bitwise complement of an n-bit integer x has a 1 everywhere x has a 0, and vice versa. So it’s clear to see: x + ~x = 0b11…11 (n-bit value of all ones) Regardless of the number of bits in x. … Read more