I know that in C, for if statements and comparisons FALSE = 0 and anything else equals true.
Hence,
int j = 40 int k = !j k == 0 // this is true
Generally, yes, it'll become 1. That said even if that is guaranteed behavior (which I'm not sure of) I'd consider code that relied on that to be pretty awful.
You can assume that it's a true value. I wouldn't assume anything more.