结合两个布尔方程将布尔变量与其他布尔变量分开

时间:2011-10-12 12:52:00

标签: boolean boolean-logic

我有两个程序:X和Y。

X有两个位图A和C.

X叫Y。

Y有一个bitMap B。

我需要在Y中执行的代码是

if AB == B && BC == C 
    //do some action Z

我想使用布尔运算在A和C上组合,这样我就可以将单个bitMap传递给Y.然后,这个单个位图可以用B做任何布尔操作,返回true / false,因此我可以决定做动作Z

1 个答案:

答案 0 :(得分:2)

通过组合A和C无法简化。

这是我们的真相表:

B A C  Z
0 0 0  1
0 0 1  0
0 1 0  1
0 1 1  0
1 0 0  0
1 0 1  0
1 1 0  1
1 1 1  1

我们可以从真值表中看到,当B = 0时,我们有Z =不是C;当B = 1时,我们有Z = A.

假设为了矛盾,我们有一位函数Y = f(A,C)“汇总”A和C.我们使用B来选择汇总是否等于'不是C'而不是'A' 。但这显然是不可能的,因为单个位无法保留足够的信息以便能够提取值“非C”以及值“A”。