why does the To Boolean (Integer) node convert everything except 0 to the truth?

It is pure speculation but I think it’s a legacy thing. In the beginning (don’t look at me like that - I’m not a historian) 0 and 1 were used instead of “true” and “false”.

In terms of binary representation only 0 has all bits set to 0. Any other number (negative or positive) has at least one non-zero bit in binary, so there’s that.

2 Likes