3 ms·
The author asks why && and || need different precedence (Unless I misunderstood). This is because `a && (b || c)` has a different truth table than `(a && b) ||
by pacaro 9y ago
The author asks why && and || need different precedence (Unless I misunderstood).
This is because `a && (b || c)` has a different truth table than `(a && b) || c`
- oconnor0 9y agoThat doesn't explain why they would need a different precedence. `a + b - c` is not the same as `a - b + c` even through the precedence's of + and - are the same (in most syntaxes).
- pacaro 9y agoGranted, the intersection of precedence and associativity is a great source of confusion (and any number of annoying Facebook memes) I'm not a formally trained mathematician, but one way to rationalize + and - having the same precedence, is to consider them as inverses of each other, so your two examples can be written as a + -b + c And a + b + -c At which point precedence and associativity no longer matter. The same can be done with multiplication and division
- rspeele 9y ago&& having higher precedence than || makes sense because && is boolean multiplication and || is boolean addition.
- DonaldPShimoda 9y agoThis makes so much sense but I never thought of it this way before so explicitly. Neat!
- agumonkey 9y agoHas anyone ever found a link between boolean (F2) and "normal" base (F[n], or N) arithmetics ?