问题标签 [boolean-algebra]
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.
python - 如何将嵌套函数代码转换为可读的布尔代数?
对于我正在编写的这个程序,我正在编写一个需要简化和读取/输出布尔表达式的程序。为此,我需要能够在以下代码之间进行转换:
AND(OR(a,b), NOT(OR(c,a)))
进入
(A+B).'(C+A)
反之亦然,所有运算符都作为AND(a,b)
,OR(a,b)
和工作NOT(a)
,其中 a 和 b 是变量/参数(它们代表我程序中的实际函数)。
我不知道如何处理这个问题,所以如果你能提供任何指导我的东西,我将非常感激。
谢谢你。
python - 使用 Quine-McCluskey 算法后如何使用 XOR 进行简化?
对于我的程序,我需要简化布尔表达式,我可以使用 Quine-McCluskey 的算法来做到这一点,但是最终结果只包含 NOT、AND 和 OR,但没有 XOR,并且 XOR 的参与对我的程序至关重要 -如果从算法派生的结果包含一个可以转换为 XOR 的表达式,我将如何去做呢?
谢谢你。
boolean-algebra - 将以下表达式简化为 A'D' + A'B
= '''' + ''' + '' + ' + '' + ''' + 'D'
我已经完成了以下的 K-Map 并得到了 A'D' + A'B 但无法弄清楚如何显示 K-Map 派生的简化。
boolean-algebra - 如何使用布尔代数简化?
我的作业中有以下问题:
“使用布尔代数验证以下等式:
NOT((A AND NOT B) OR (NOT A AND B)) == ((A AND B) OR (NOT A AND NOT B))。"
我可以使用卡诺图和真值表来做到这一点,但我被困在使用布尔代数的正式程序上。
提前感谢您的帮助!
boolean-logic - 如何简化以下表达式
我正在尝试简化以下表达式:(!A && !B) || (!B && !C) || (C && !A)
. 它应该简化为两个术语:(!A and C) || (!B and !C)
我已经尝试应用几乎所有的法律,并尝试了不同的因式分解组合,看看是否会减少任何东西,但它不会导致所需的答案。
function - 当数据以位为单位时,求解具有相互依赖的变量和函数的方程
当涉及函数且数据以位为单位时,如何求解具有两个变量的 2 个方程?
等式1:
f +i + 常数数据 =reed solomon 函数(h+常数数据)
等式2:
h +i + 常数数据 = 里德所罗门函数(f + 常数数据)
其中 f,h,i 是位(布尔数组),常量数据也是位(布尔数组) 常量数据是已知的
左侧是 56 位右侧(函数内部)是 152 位
尝试了蛮力方法,但它需要永远并且不起作用。
我在网上找到的提示:必须使用高斯消除方法,但不确定这种方法
conditional-statements - 如何简化C中的逻辑运算
我有以下逻辑,需要简化以使其看起来更清晰和简洁:
为了解决上述问题,我应用了逻辑表达式来进一步简化这几行条件:
我不确定如何从这里进一步简化。谁能帮我?
更新: 为了进一步简化,我尝试将布尔代数应用于此表达式,但没有运气!我想出了这个:
whereA
表示x1 < y1
和A1
表示x1 == y2
r - 函数无法找到在该函数的本地环境中定义的公式对象
我正在尝试构建一个可以接受公式列表作为参数的函数。
我首先定义将作为参数输入到函数中的变量。前两个变量被命名为包含布尔信息的向量。
第三个参数是公式对象的列表。公式是一个“语言”类对象,除非使用f_eval()函数明确告知这样做,否则它不会被评估。
好的,是时候构建函数了。第一步是在函数中创建局部变量。这些局部变量将以 named_vector 参数的名称命名。
然后我初始化一个矩阵。之后,我打印出局部变量来测试它们是否成功。这只是一条测试线,不会出现在函数的最终版本中。
最后,是时候使用逻辑论证了!这里的目标是让函数使用逻辑参数中提供的方程,通过使用前一行中可用的值来“更新”矩阵的下一行。
第一行按顺序计算方程,然后将这些值分配给矩阵中的下一行。这是发生错误的地方。
第二行现在使用矩阵最近更新的行中的值重新分配变量的值。
好的,当我使用开始时设置的参数运行函数时:
我收到以下错误:
我无法为我的生活找出原因。为什么函数看不到我之前定义的局部变量?这些变量需要用于评估公式。
PS我相信可能有更好/更优雅的方式来使用类似的参数格式编写这个函数,我很想知道它们。但是出于学习的目的,我真的很想知道我编写这个函数的方法是否可行。
boolean-algebra - 如何简化长表达式
~ 表示非,+ 表示或
我想用布尔定律简化以下内容-
~A~B~C~D + ~A~B~CD + ~A~BCD + ~AB~CD + ~ABC~D +~ABCD + A~B~CD + A~BC~D + AB~CD + A B C D
所以我把它简化到 ~A~B~C + ~ABC + A~BC~D + DB~C + A~CD + ABD + ~A~BCD
但是我找不到将其简化为从 K-map 方法中找到的形式的方法,即:
~A~B~C + ~ABC + A~BC~D + ~AD + BD + ~CD
我看到前三个变量相等(~A~B~C + ~ABC + A~BC~D),但我不知道如何简化
DB~C + A~CD + ABD + ~A~BCD
进入
~AD + ~BD + ~CD
boolean - 如何使用 NAND 门表达 (A*B) + (~A*~B)?
目前遇到一个问题,需要仅使用 NAND 门重写布尔表达式 (A B) + (~A ~B)。有任何想法吗?