如何用“与”,“或”,“非” 实现 “异或”运算?
程序员文章站
2022-11-07 11:31:34
a^b=1.(a|b)&(~a|~b)2.~(~a&~b)&~(a&b) 3.(a&~b)|(~a&b) ......
与 | & |
两个位都为1,结果才为1,否则结果为0 |
或 | | |
两个位有一个为1,结果就是1,否则结果为0 |
非 | ~ |
如果位为0,结果是1,如果位为1,结果是0 |
异或 | ^ |
两个位相同结果为0,不同结果为1 |
a^b=
1.(a|b)&(~a|~b)
2.~(~a&~b)&~(a&b)
3.(a&~b)|(~a&b)