For two inputs, there are 16 operations. Most of them are rarely useful, which is why we don't have Perl operators for them.
By the way, everything can be implemented solely with nand:
p | q | p nand q ---+---+---------- 0 | 0 | 1 0 | 1 | 1 1 | 0 | 1 1 | 1 | 0 not p === p nand p p and q === (p nand q) nand (p nand q) p or q === (p nand p) nand (q nand q) p xor q === (p nand (q nand q)) nand ((p nand p) nand q)
Other operatations could also be used instead of nand. nor, for example:
p | q | p nor q ---+---+--------- 0 | 0 | 1 0 | 1 | 0 1 | 0 | 0 1 | 1 | 0 ~(p nor q) not p === p nor p p and q === (p nor p) nor (q nor q) p or q === (p nor q) nor (p nor q) p xor q === [something very long]
In reply to Re^2: Bit operations for beginners
by ikegami
in thread Bit operations for beginners
by Cine
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |