4 ms·
i don't really see why. if anything is insane, it's interpreting a number as true or false. but if you're doing that anyway, then you pick a number for false, o
by pasquinelli 5y ago
i don't really see why. if anything is insane, it's interpreting a number as true or false. but if you're doing that anyway, then you pick a number for false, or you pick a number for true. 0 is a natural number to pick for whichever truth value, because it's the base case of the natural numbers.
it's unconventional, but no more insane than 0 = false, which, again, _is_ insane, but conventional.
i'm not bothered either way
- drdeca 5y agoUsing 0 as false and 1 as true has the benefit that + (mod 2) becomes xor and * becomes and. (or, if instead of mod 2, you use min(1,a + b) to keep things in the set, then + becomes or ) To use 0 as true and 1 as false, you don't get nice things like this. It's not nice. Well.. I guess * becomes or. But, + (mod 2) becomes, uh, xnor , and (min(1,a+b)) becomes, and... ok well I guess that's not as bad as I thought. Still a bad decision imo though.