数字逻辑电路 逻辑运算 与、或、非、与非、或非、与或非、异或、同或 二进制运算技巧

运算技巧

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。

你可能感兴趣的:(logic,circuit)