程序员的数学 - 逻辑运算

《程序员的数学》读书笔记目录

  • 0的作用
  • 罗马计数法
  • 余数的运用
  • 逻辑运算
  • 排列组合
  • 归纳与递归

二值逻辑

true - false
编程中的位运算

~A

A & B

A | B

异或

A ^ B

相等

A = B
解析:若A为true,则B为true;若A为false,则B为false。

蕴含

A => B
解析:若A为true,则B为true;若A为false,则B可以为true或false。

工具

真值表

|A|B|F|A&B|A&(B)|A|(A)&B|B|(A=B)|A\B|(A\B)|A=B|B|A(B)|A|(A)\B|~(A&B)| T |
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
|T|T|F| T | F |T| F |T| F | T | F | T | F| T | F| T | F | T |
|T|F|F| F | T |T| F |F| T | T | F | F | T| T | F| F | T | T |
|F|T|F| F | F |F| T |T| T | T | F | F | F| F | T| T | T | T |
|F|F|F| F | F |F| F |F| F | F | T | T | T| T | T| T | T | T |

文氏图(Venn Diagram)

卡诺图(Karnaugh Map)

作用:简化逻辑表达式
示例:三灯游戏

推论

对偶性

true <--> false
A <--> ~A
& <--> |

德摩根定律(De Morgan's Laws)

~(A & B) == (~A) | (~B)
(~A) & (~B) == ~(A | B)

异或的否定是相等

~(A ^ B) == (A = B)

蕴含理解(陷阱逻辑)

A => B == (~A) | B

三值逻辑

true - false - undefined
编程中的逻辑判断

带条件的逻辑与

A && B

带条件的逻辑或

A || B

否定

!A

你可能感兴趣的:(程序员的数学 - 逻辑运算)