Does ~0 mean its flipping 000000000 to 1111111111?
printf(\"Check: %i\", ~0);
The printf results to -1, which is why I am confused. <
~0 == 0xFFFFFFFF
where 0xFFFFFFFF= 32 times 1 , which is -1 in 2's compliement representation
0xFFFFFFFF
since ~ is a bitwise operation and turns zero to one in each bit:
~
~0b1010 == 0b0101