a&(a-1) 除去a二进制中最后一位1
a XOR 0 = a a与0的异或还是a
a XOR a = 0 a与a的异或为0
a XOR b XOR a = b 可用于去重
LeetCode : 136. Single Number 单一数字
有0出0;全1出1
A | B | F=AB |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
有1出1;全0出0
A | B | F=A+B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
用^代表事件相反
有1出0;有0出1。
A | F = ^A |
---|---|
0 | 1 |
1 | 0 |
与操作相反
A | B | F = ^(A·B) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
或操作相反
A | B | F = ^(A+B) |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
A | B | C | D | F = ^(AB+CD) |
---|
相同得0;相异得1
A | B | F = ^AB + A^B |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
相同得1;相异得0
A | B | F = AB + AB |
---|---|---|
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
首先记住与、或、非操作。与非、或非只需要先按照与、或判断,再非一下。异或、与或关键词在于《异:不同》为1、《与:相同》为1。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182749.html原文链接:https://javaforall.cn