反演律在代码中的应用

163 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

写代码中,经常用到判断逻辑的处理,处理判断逻辑处理时,经常反向去处理,比如为了把最常用的判断放到前面。

反向处理,直接用逻辑代数的反演示律,就非常的简单些,反演律是这样的:

也可以非常简单的证明一下,可以用最简单的证明方法,一个个的试,最喜欢这代码逻辑了,因为其非常的简单:

列名AB¬(A+B)¬A¬B
逻辑值0011
逻辑值1100
逻辑值0100
逻辑值1000

这就可以证明其正确性了

 1 #include <stdio.h>
  2 
  3 int main()
  4 {
  5  int a = 2;
  6  int b = 1;
  7  if(a == 0 || b == 0)
  8  {
  9    printf("a或者b等于0");
 10  }
 11  else
 12  {
 13   printf("条件1:a和都b不等于0\n");
 14  }
 15 
 16  if(a != 0 && b != 0)
 17  {
 18   printf("条件2:a和b不等于0\n");
 19  }
 20 }
root@mkx:~/learn/judge# ./test
条件1:a和都b不等于0
条件2:a和b不等于0

显然条件1与条件2是同样的关