2012-04-14 66 views
0

我有三个输入:a,b和c。如果我的输出是1,那么奇数个输入为1,否则为0.HCL三输入奇校验

我已经尝试到目前为止(a && b && c) || (!a && !b && !c),(a && b && c) || (!a && b && c),(a && c) || (b&& !c)和其他一些。我怎样才能做到这一点?

+0

你的意思是说''a','b'和'c'都是'0'或'1':如果它们的奇数是'1',那么输出应该是'1' ,否则输出应该是'0'“? – huon 2012-04-14 02:39:35

+0

是a,b,c都是0或1. – Raj 2012-04-14 03:18:54

回答

1

a^b^c怎么样?

如果只有基本的逻辑运算符是允许的,可以作为dbaupp评论,只是等效变换使用

((a && b || !c) || (!a && !b || !c)) && (!a || !b || c) && (a || b || c) 

+0

尾随'&1'是多余的。每个输入只是一个零或一个,并且异或运算符返回一个零或一个。 (正确性和简洁性+1。) – wallyk 2012-04-14 02:48:26

+0

你说得对。但是'&1'更通用。 – 2012-04-14 02:51:47

+0

哦忘记提及我想只使用&&,||和!运营商。 – Raj 2012-04-14 03:23:54