转:二进制乘法原理

二进制乘法实际上就是左移和加法,假设被乘数是a,我们将乘数分解为2^n + 2^m + 2^k ...,则乘法结果为:a<<n + a<<m+a<<k ... ,以下题为例:

4. What is the result of binary number 01011001 after multiplying by 0111001 and adding 1101110?
(A) 0001 0100 0011 1111
(B) 0101 0111 0111 0011
(C) 0011 0100 0011 0101

其乘法过程就是: 01011001<<5 + 01011001<<4 + 01011001<<3 + 01011001<<0 = 1001111010001,

而1001111010001 + 1101110 = 1010000111111,因此此题结果就是A。

原文地址:https://www.cnblogs.com/youxin/p/3297797.html