C++ Bitwise Operators – What Does ~0 Do?

bitbitwise-operatorsc++


Does ~0 mean its flipping 000000000 to 1111111111?

printf("Check: %i", ~0);

The printf results to -1, which is why I am confused.

Does -1 essentially mean the same thing as 11111111111111111 bits?

Best Answer

Does ~0 mean its flipping 000000000 to 1111111111?

Yes, it does.

Does -1 essentially mean the same thing as 11111111111111111 bits?

In 2s complement representation, it does.

Related Question