The unsigned integer value is the argument plus 2^32 if the argument is negative; otherwise, it is equal to the argument.
Suppose for the moment type int was only 8 bits instead of 32 bits.
-1 + 2^8 = -1 + 256 = 255
255 is binary 1111 1111
Now back to the real world where type int is 32 bits.
-1 + 2^32 = -1 + 4294967296 = 4294967295
4294967295 is binary 1111 1111 1111 1111 1111 1111 1111 1111
In general, to find the binary representation of a negative number,
take the negative number, add 2^32, then convert to binary.
Sometimes it is easier to take the positive number, convert to binary, flip the bits and add 1.
[ May 20, 2003: Message edited by: Marlene Miller ]