问题标签 [boolean-logic]

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 投票
3 回答
5069 浏览

logic - 使用多路复用器实现 5 变量函数

如果我有一个 5 变量函数(如下)并且我想使用多路复用器来实现它,我将如何做到这一点(使用尽可能小的多路复用器):

这是作业,所以不要提供解决方案,只是提供如何工作的指导。

谢谢!

0 投票
2 回答
1072 浏览

parsing - 我试图弄清楚如何将带括号的布尔表达式展平为一组逻辑上相同的有序表达式

所以假设我有这样的表达:

((((e1)或(e2))和(e3或(e5和e6))和(e7))或(e8))

我需要得到一个表达式列表(e1、e2、e3 等),然后是和/或运算符,以便从左到右评估列表会产生相同的逻辑布尔答案。

即e1 或e2 和e5 和e6 或e3 和e7 或e8。但这不是正确的答案,但这是我需要结束的事情。

我知道递归下降解析器会评估表达式,但这不是我需要的,我需要得到一个表达式列表,以后可以从左到右进行评估。

我想把它放在二叉树中,然后导航树后缀或类似的东西,但这似乎不对。

我曾经很聪明,可以弄清楚这样的事情,但现在我有了一个孩子,并且失去了我所有的高级认知能力。帮助?

0 投票
1 回答
1364 浏览

boolean-logic - 布尔逻辑和真值表解释

我需要创建一个真值表,我真的需要找到一个资源来解释它是如何工作的。我将举一个问题的例子。我必须基于此创建一个真值表: A*(B+A B)=A B 所以真值表看起来像:
0 0
0 1
1 0
1 1 for A*(B+A B)=A B

我什至如何开始解决这个问题?有没有什么好的资源可以很好地解释该怎么做?

好的,然后我做了一个更复杂的涉及 NOT 的操作。!表示不

!(A*!B+!A B) = A B+!(A+B)

所以我对左侧做了 C = A*!BD=!A*B 然后 !(C+D) 。我对那方面的最终答案是

所以右边是这个
C = A * BD = A + B 然后 C + !D 看起来像这样

我想我明白了吗?:)

0 投票
4 回答
1810 浏览

boolean-logic - 布尔代数简化

需要帮助不知道做这种简化的思维过程。!- 表示不可以说我有!((A + B)*(A +!B))我需要使用除吸收之外的所有规则来简化它。
我知道它是 A * !B + !A * B 但我需要知道到达那里的过程。有什么好的开始。我做了几件不同的事情,但我从来没有想出正确的答案。

0 投票
4 回答
292 浏览

boolean-logic - 如何将这个问题变成布尔逻辑问题?

“如果你可以按下一个按钮来获得 100 万美元,而一个随机的人死在世界的某个地方,你会按下这个按钮吗?”

A = 按下按钮

B = 获得 100 万美元

C = 随机人死亡

这是我认为应该是的:

如果 A,那么 B AND c

按照原来的说法是这样的:

或者

0 投票
4 回答
228 浏览

search - 搜索引擎如何进行“AND”运算?

考虑以下搜索结果:

好的。页面是索引的,只需要查找索引表中的计数和前几项,速度是可以理解的。

现在考虑使用 AND 操作进行以下搜索

这让我很兴奋 ;) 搜索引擎到底如何才能如此快地获得对巨大数据集进行 AND 运算的结果?我看到以下两种执行任务的方法,它们都很糟糕:

  1. 你进行了“大卫”的搜索。拿起巨大的临时表并在其上搜索“John”。但是,临时表没有被“John”索引,因此需要蛮力搜索。无论您拥有什么硬件,这都不会在 0.25 秒内计算出来。
  2. 通过所有可能的单词组合(如“David John”)进行索引。然后我们面临着密钥数量的组合爆炸,甚至谷歌也没有存储容量来处理它。

您可以将任意数量的搜索词组合在一起,并且您仍然可以在 0.5 秒内获得答案!如何?

0 投票
4 回答
6287 浏览

boolean-logic - 布尔逻辑中的多于运算符(逻辑门)

基本上我有 2 个无符号 8 位二进制数,我需要使用布尔逻辑来找出哪个更大,而我终生无法弄清楚从哪里开始。使用逻辑门...

显然,我必须分析每一位并找出哪个更大,但我如何将它们整合在一起?

假设我有 x 和 y,如果 x < y(x 和 y 是 8 位无符号二进制数),我想返回 true。我该怎么做呢?

我想过找出哪个具有最重要的位,但是如果它们都相同怎么办?

有人有什么想法吗?

0 投票
8 回答
1984 浏览

c# - C 布尔逻辑

我一直在尝试 C 语言中的一些程序并遇到这个......

如果我编译程序,任何人都可以弄清楚这是什么问题,我会得到 0。

当我在 C# 中尝试相同的代码时

这将产生错误

(错误 1 ​​运算符“!”不能应用于“int”类型的操作数 C:\Documents and Settings\SANDEEP\My Documents\Visual Studio 2005\Projects\ConsoleApplication18\ConsoleApplication18\Program.cs 21 17 ConsoleApplication18)

我想知道为什么我的 C 代码的输出不起作用,以及如何!在 C# 中使用运算符。请帮忙。

0 投票
6 回答
18854 浏览

python - 在 Python 中动态评估简单的布尔逻辑

我有一些动态生成的布尔逻辑表达式,例如:

  • (A 或 B)和(C 或 D)
  • A 或(A 和 B)
  • 一个
  • 空 - 评估为 True

占位符被替换为布尔值。我是不是该,

  1. 把这些信息转换成 Python 表达式之类的True or (True or False)eval
  2. bool创建一个节点是 a或Conjunction/对象的二叉树Disjunction并递归评估它?
  3. 将其转换为嵌套的 S 表达式并使用 Lisp 解析器?
  4. 还有什么?

欢迎提出建议。

0 投票
4 回答
9579 浏览

boolean-logic - 如果我对 2 个数字进行异或运算,是否只有在数字相同时才能得到相同的结果?

例如,假设我有x XOR y = y XOR x = z. 有可能有类似的东西a XOR b = z吗?