Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^3: Bit operations for beginners

by BrowserUk (Patriarch)
on Jun 28, 2005 at 01:05 UTC ( [id://470432]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Bit operations for beginners
in thread Bit operations for beginners

p xor q === [something very long]

Hell's teeth! You weren't kidding.

I remember xor as (p and not q) or (q and not p) and it's been something like 30 years since I played with nand and nor expansions, so I expanded that:

xor === (p and not q) or (q and not p) expand the 'not's === (p and (q nor q)) or (q and (p nor p)) expand the 'and's === ((p nor p) nor ((q nor q) nor (q nor q))) or ((q nor q) nor ((p nor p) nor (p nor p))) expand the 'or's === (((p nor p) nor ((q nor q) nor (q nor q))) nor ((q nor q) nor ((p nor p) nor (p nor p)))) nor (((q nor q) nor ((p nor p) nor (p nor p))) nor ((p nor p) nor ((q nor q) nor (q nor q))))

Then it struck me that ((x nor x) nor (x nor x)) is x, which reduces it to

=== (((p nor p) nor q) nor ((q nor q) nor p)) nor (((q nor q) nor p) nor ((p nor p) nor q))

It's certainly more digestable (just :), but are there any other reductions in there?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.

Replies are listed 'Best First'.
Re^4: Bit operations for beginners
by kaif (Friar) on Jun 28, 2005 at 16:50 UTC

    Yeah, you might enjoy:

    (p nor q) nor ((p nor p) nor (q nor q))

    Remember that nor returns true only if both arguments are false. So, we want to return true if the inputs aren't both false or both true. The former is simply p nor q and the latter is (not p) nor (not q) and we use the expansion of not.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://470432]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (2)
As of 2024-04-19 01:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found