complement

¿Cómo funciona el operador de complemento bit a bit (~ tilde)?

¿Por qué es que ~2 es igual a -3? ¿Cómo funciona el operador ~?

Necesita ayuda para entender el método" getbits () " en el Capítulo 2 de K & R C

En el capítulo 2, la sección sobre operadores bitwise (sección 2.9), estoy teniendo problemas para entender cómo funciona uno ... con el código y comprobando mis resultados usando calc.exe thank gracias a Dios que tiene una vista binaria!) Alguna ayuda?