按位运算而不是逻辑运算

时间:2014-08-13 04:46:40

标签: bit-manipulation

我是计算机科学的新手,最近上过课。我正在努力解决这个问题,虽然我知道按位操作,但我并不安静。

问题图片:enter image description here

请问我有清楚的解释吗?

3 个答案:

答案 0 :(得分:5)

答案:B

说明:

使用DeMorgan的法律(https://en.wikipedia.org/wiki/De_Morgan' s_laws)

NOT (A and B) = (NOT A) or (NOT B)
NOT (A or B) = (NOT A) and (NOT B)

遵循这个逻辑:

图表代表

NOT ( NOT (male and adult male) and NOT (female and minor female) )
只要您NOT (male and adult male)

NOT adult male就会得到满足,因此可以替换为NOT (female and minor female)。同样,NOT minor female可以替换为NOT ( (NOT adult male) and (NOT minor female) )

因此:

adult male or minor female

使用德莫根定律,这就变成了:

{{1}}

我们可以看到这与答案B匹配。

答案 1 :(得分:4)

答案是b)。例如,在左下方框中,不允许成年男性。由于此框的结果不允许在上层,因此允许的结果必须是非常合适的解决方案。正确的方框也需要做同样的事情。

a)和c)不起作用,因为它们对于任何一个下方框都是正确的。 d)不起作用,因为例如“小男性”将允许在两个下方框中,因此上方框中的条件和条件将成立,否定将使其成为假。

这是一个非常简单的解释,在不使用过于复杂的代数的情况下明确了这一点......

答案 2 :(得分:2)

所以似乎要问(a) - (d)中的哪一个等同于逻辑图。你可以从博客中回答这个问题,也可以通过反例来扣除。

假设男性'盒子是M,成年男性' aM,围绕那些的盒子是MM,另一侧的相应三个是F,mF和FF,顶部的那个是C。

不是(a)因为成年男性会满足图表:

M = yes
aM = yes
M and aM = yes, so not M and aM = no, so MM = no
F = mF = no
F and mF = no, no not F and mF = yes, so FF = yes
MM and FF = no, so not that = yes, so C = yes

它不是(c)相应的逻辑。

不是(d)因为我们已经知道成年男性的作品。

离开(b)。

反过来说,你需要零或一个MM和FF来“是”'满足约束。如果这个人必须是男性或女性,那么你就无法实现零,因为如果性别是女性则MM总是为零,反之亦然。

那么什么样的男性确保MM没有'什么样的女性确保FF没有'?答案是与当地条件相匹配的。