binary multiplication
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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 + 7Since we already know how to perform
addition, binary multiplication becomes easy.
Binary Multiplication
7
* 3
Binary Multiplication
7 0111
* 3
Binary Multiplication
7 0111
* 3 + 0111
+ 0111
Binary Multiplication
7 0111
* 3 + 0111
1110
+ 0111
Binary Multiplication
7 0111
* 3 + 0111
1110
+ 0111
10101
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 * yAny 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
106
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
106 converts to 1101010
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
1101010
106 * 22
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
1101010
106 * 22 shift 2
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
1101010
106 * 22 shift 2 110101000
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
1101010
110101000
106 * 25
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
1101010
110101000
106 * 25 shift 5
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
1101010
110101000
106 * 25 shift 5 110101000000
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
106 1101010
106 * 22 110101000
106 * 25 110101000000====================================
Binary Multiplication
? = 106 * 25+ 106 * 22 + 106 * 20
106 1101010
106 * 22 110101000
106 * 25 110101000000====================================
Sum 111101010010