逻辑运算

按位运算和逻辑运算的区别:

逻辑运算是将两个bool进行运算

按位运算是将整型、浮点型转化为二进制进行运算

逻辑与、按位与

∧            &

11变1 其余变0

逻辑或、按位或

∨            |

00变0 其余变1

0变1 1变0

异或

^

相同为0 不同为1

优先级

! > & > ^ > |

位运算过程:

!10&8|2

首先,把10转为二进制

1010

!一下

0101

把8转为二进制

100

和0101&一下

 100

0101

0100

然后把2转为二进制:1

和0100|一下

0100

0001

0101

把101转为十进制

答案是9

逻辑运算过程:

因为字符打起来比较难,因此下面的逻辑运算符以相对的位运算符代替

a=0 b=0 c=1 d=1

(a|b)&(!c&a)=0

(a&c)|(!a|!d)=1

(a&c&d&b)|(!a|b|c)=1

大概应该明白了吧

posted @ 2017-10-12 19:08  Dijkstra·Liu  阅读(722)  评论(0编辑  收藏  举报