如何使用逻辑门创建if语句?

时间:2015-02-24 21:50:10

标签: java algorithm binary logic

我目前正在研究基本的二进制乘法器,我们仅限于使用逻辑门(AND / OR / NAND / NOR / XOR)。我试图在下面的声明列表,但无法弄清楚如果没有if。

将如何进行

(x代表被乘数,y代表乘数)

if ((y & 1) != 0) product = add(product,x);

2 个答案:

答案 0 :(得分:0)

在这种特殊情况下,

product += x & (-(y & 1));

可以工作,其中bit-twiddling相当于将所有xy的位进行AND运算然后相加。

答案 1 :(得分:0)

假设add做了它的名字所暗示的,那么

product = add(product,(y & 1) * x);