Why is (~1) coming out to -2, rather than 0?

I know that ’ ~ ’ is NOT operation.

I did the following operation: cout<<(~1)

So, why it is showing ’ -2 ’ instead of ’ 0 '?