问题标签 [boolean-expression]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
793 浏览

language-agnostic - 减少布尔表达式

我有一个表情,假设,

我希望它减少到,

有没有人有什么建议?指向任何算法的指针?

Nota Bene:我相信,卡诺图或 Quine-McCluskey 不是这里的选择。因为这些方法不处理灰色情况。我的意思是,表达只能减少到像 A 或 A' 或什么都没有,或者说是黑色或白色或无色的情况。但是在这里我有灰色阴影,正如你们所看到的。

解决方案:我已经在 Clojure 中为此编写了程序。我使用包含函数作为值的地图的地图。这很方便,只需几个组合的一些规则,你就很好。感谢您提供有用的答案。

0 投票
2 回答
2354 浏览

boolean-expression - 用德摩根定律简化布尔表达式

我需要用德摩根定律简化这个布尔表达式。

有人可以帮助我吗?

0 投票
3 回答
561 浏览

python - 'not ==' 和 '!= 之间是否存在逻辑差异(没有 is)

Python 3.x 之间是否存在显着差异:

我的问题并非针对上述用法,而是更普遍或更重要 - 即使结果相同,这种句法差异是否以不同的方式起作用?有逻辑上的区别吗?是否有更合适的任务,或者这仅仅是风格上的差异?如果这仅仅是风格,那么 Python 程序员认为哪一个更干净?

is另外,上面是问和之间有什么区别的相反例子==吗?前者和后者一样,是对象身份和对象价值相等的区别吗?我的意思是,在我上面的例子中,是is在使用not隐式吗?

0 投票
3 回答
60854 浏览

boolean - 如何将布尔表达式从 AND 和 OR 转换为仅 NAND

我有一项任务让我发疯,因为我不知道从哪里开始。

任务如下: 转换给定的布尔表达式,使其仅包含 NAND 操作而没有否定。

我认为这是可能的,:D 但我不知道该怎么做,只花了几个小时转圈。

有人可以指出我正确的方向吗?

最好的问候,

更新:

感谢答案,我想我找到了解决方案:

0 投票
2 回答
218 浏览

python - Python Boolean:另一个列表或字典中列表的任何值

我最近才发现自己正在编写这行代码,我不太喜欢它:

我已经考虑过列表理解,它看起来像这样:

这并不是更好。我非常简单的问题是:这可以简化吗?或者这只是想太聪明?

0 投票
7 回答
646214 浏览

bash - 如何制作“如果不是真的条件”?

我希望在不正确echo时执行命令。cat /etc/passwd | grep "sysa"

我究竟做错了什么?

0 投票
1 回答
208 浏览

c - C 中布尔表达式的结果

为什么以下表达式的计算结果为 0?

假设 i = 5。从左到右计算表达式,我们计算左操作数 (i) 得到 5,我们计算右操作数 (--i) 得到 4。所以表达式 about 应该计算为 1。但是当我用 gcc 编译并运行它,它总是评估为 0。我的思维过程是否存在缺陷?

0 投票
1 回答
140 浏览

syntax - 我怎样才能 OR 一起到 gnumakefile 条件?

使用 gmake v3.80,我怎样才能创建一个将两件事 OR 在一起的规则。我从这段代码开始:

并且想将这两个 ifeq(s) 组合成一个 if 将这两个条件 OR 在一起,也许是这样的?

允许我这样做的实际语法是什么?

0 投票
0 回答
1041 浏览

java - Java中布尔表达式的二叉表达式树库的建议

我正在使用Soot在 Java 中进行一些非常简单的程序分析/转换,我发现自己需要做一些简单的布尔表达式组合。因此,例如,在我的分析过程中,我将有一个表达式 like(a < 25) && (b >= 10)并且我想(a >=-10)通过 OR 运算符加入该表达式以获得完整的表达式,例如(a >=-10) || (a < 25) && (b >= 10). 基本上,只需将两个布尔表达式树组合成一个表达式。我可能还希望自动将表达式树转换为树的等效合取范式版本。

我的另一个要求是当我们有可以轻松消除的表达式时,能够简化表达式(如果需要,通过自定义代码)。例如(a < 20) || (a >= 20)归约到TRUE, since (a < 20) = (!(a >= 20)), 所以我们可以在进行过程中消除一些项。

我知道编写布尔表达式树是一个经典的介绍性问题,而且我很确定我之前已经实现过它(一次,很久以前,用于数据结构类:))我知道我可以再做一次,如果需要......但鉴于这可能是以前处理过的事情,我想知道是否有关于我应该研究解决上述问题的库的任何建议。当可能已经有一个非常好的轮子时,我讨厌重新发明轮子。

所以总结一下,我正在寻找一个 Java 库,它具有:

  • 布尔表达式树
  • 表达式的组合
  • 术语的简化(这是非常具体的,所以“很高兴”)
  • 转换为 CNF

有什么建议吗?

(注意:我不会评估这些树,因此每个节点都将是未解析的谓词,例如variable != 20or foo >= 50,因此评估不是必需的,但如果它是库的一部分也没有什么坏处。)

0 投票
10 回答
19489 浏览

c - if (i++) 条件如何工作?

可能重复:
后增量和前增量概念?

在这种情况下,我无法理解“if 条件”如何与增量/减量运算符一起使用:

它的输出是ACTS。

IF 条件下发生了什么?