690 likes | 1.58k Views
Binary Multiplication. Binary Multiplication. Any multiplication can be re-expressed as a series of additions. For example, 7 * 3 (seven times three) is simply the sum of 3 sevens. 7 * 3 = 7 + 7 + 7 Since we already know how to perform addition, binary multiplication becomes easy.
E N D
Binary Multiplication Any multiplication can be re-expressed as a series of additions. For example, 7 * 3 (seven times three) is simply the sum of 3 sevens. 7 * 3 = 7 + 7 + 7 Since we already know how to perform addition, binary multiplication becomes easy.
Binary Multiplication The multiplication of large values will take many such additions, but the machine doesn’t mind. Even so, we look for faster more efficient techniques, and there is one available. It’s based on the Algebraic property called Distribution.
Binary Multiplication The Distribution Property can be expressed this way: a * (x + y) = a * x + a * y Any number can be expressed as the sum of other numbers: 106 * 37 = 106 * (30 + 7) = (106 * 30) + (106 * 7)
Binary Multiplication The other insight necessary to optimize multiplication regards multiplying a number by its base. In Decimal, multiplying anything by 10 is easy - • simply shift the digits to the left, • and pad with a zero. 975 * 10 = 9750
Binary Multiplication This is true in any number system. In Binary, for example: 001 represents 1 010 represents 2 100 represents 4
Binary Multiplication This is true in any number system. In Binary, for example: 001 represents 1 010 represents 2 100 represents 4 Each shift/pad doubles the value.
Binary Multiplication Now reconsider this problem: 106 * 37 = ?
Binary Multiplication Now reconsider this problem: 106 * 37 = ? Expressed as this distribution: 106 * (32 + 4 + 1)
Binary Multiplication Now reconsider this problem: 106 * 37 = ? Expressed as this distribution: 106 * (32 + 4 + 1) = 106 * 32 + 106 * 4 + 106 * 1
Binary Multiplication ? = 106 * 32 + 106 * 4 + 106 * 1
Binary Multiplication ? = 106 * 32 + 106 * 4 + 106 * 1 32 = (25)
Binary Multiplication ? = 106 * 32 + 106 * 4 + 106 * 1 32 = (25) 4 = (22)
Binary Multiplication ? = 106 * 32 + 106 * 4 + 106 * 1 32 = (25) 4 = (22) 1 = (20)
Binary Multiplication ? = 106 * 32 + 106 * 4 + 106 * 1 32 = (25) 4 = (22) 1 = (20) by substitution… ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20 This term can be simplified.
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20
Binary Multiplication ? = 106 * 25+ 106 * 22 + 106 * 20