C-Style Logical XOR
C-Style Logical XOR
Posted Jun 10, 2024 21:18 UTC (Mon) by dskoll (subscriber, #1630)In reply to: C-Style Logical XOR by sub2LWN
Parent article: perl v5.40.0 released
Oof, C does not have a logical XOR, so calling it "C-style" is a bit of a stretch. I can't recall ever needing a logical XOR, but if I did, I would be perfectly fine with writing (A && !B) || (B && !A)
. And yes, I know the parens are not strictly necessary, but I like them.
I suppose if A and B had side-effects, that might be a problem, but just Don't Do That.
Posted Jun 11, 2024 4:20 UTC (Tue)
by willy (subscriber, #9762)
[Link] (5 responses)
Posted Jun 11, 2024 16:37 UTC (Tue)
by dskoll (subscriber, #1630)
[Link] (4 responses)
Yup, xor is not often used in general-purpose software, though it is used in quite a few encryption and hashing algorithms. But that's bitwise-xor. I'm scratching my head trying to come up with a scenario where logical-xor is needed. I agree that reserving ^ for exponentiation would have been better than reserving it for xor, but that's water under the bridge.
Posted Jun 11, 2024 17:52 UTC (Tue)
by NYKevin (subscriber, #129325)
[Link]
Posted Jun 11, 2024 23:04 UTC (Tue)
by MarcB (subscriber, #101804)
[Link]
Posted Jun 14, 2024 15:57 UTC (Fri)
by magnus (subscriber, #34778)
[Link] (1 responses)
Posted Jun 14, 2024 16:48 UTC (Fri)
by atnot (subscriber, #124910)
[Link]
C-Style Logical XOR
C-Style Logical XOR
C-Style Logical XOR
C-Style Logical XOR
C-Style Logical XOR
C-Style Logical XOR