¿Qué es! 0 en C?

Sé que en C, porque si las declaraciones y las comparaciones FALSO = 0 y cualquier otra cosa es igual a verdadero.

Por lo tanto,

int j = 40
int k = !j

k == 0 // this is true

Mi pregunta maneja lo contrario. ¿En qué se convierte! 0 1?

int l = 0
int m = !l

m == ? // what is m?