接着还是简单的例子:一比特乘法器。对于一比特正整数乘法:c = a × b = a AND b;对于一比特有符号数运算: c = a × b = a XOR b。这个需要自己记忆一下,在很多时候这个非常有用的。
下面,我们就不讨论有符号数的问题了。这个在乘法器莫过于一比特有符号数乘法器+若干比特无符号数乘法器的组合。只要注意时序,没有特别的玄妙的。
再说一句闲话,这一讲里面有意地多用了一点数学化的表达。这个是为了给后面的CORDIC算法预热一下,那里面没法不数学。
我们先下数学化的描述:
b = Σ bi×(2^i), i =0,1,…,bi {0,1}
c = a × b
= a × (Σ bi×(2^i) )
= Σ (a × bi×(2^i) )
= Σ (bi × (a<<i) )