Section 9.8
Review Questions
Integer Multiplication
-
Perform the following decimal multiplication and describe any shortcuts
or simplifications that make it easier.
3782938
× 222222
--------
answer...
Calculate 2×3782938 just once, giving 7565876. Then add 7565876
to 75658760 to 756587600 to 7565876000, etc.
-
What are the names of the two numbers which are multiplied together?
answer...
multiplier and mulitiplicand
-
Why is binary multiplication easier (for humans) than decimal multiplication?
answer...
because multiplication by 1 or 0 is so trivial
-
If two 16-bit numbers are multiplied together, what is the longest product
that can result?
answer...
32 bits
-
Suppose two 16-bit numbers are multiplied together. What is the maximum
number of additions that are required?
answer...
16
-
In addition to addition, which other elementary operation is required
for multiplication?
answer...
shifting
-
Perform 137×43. The first two steps are done for you below.
137 = 100010012 and 43 = 001010112.
counter partial sum multiplier
---------------------------------------------------------------------------
00001000 00000000 00000000 10001001
+ 00101011 add 43-------- ^
------------------
00000000 00101011
00000111 (decr) 00010010
(lshift)
not zero 00000000 01010110 (lshift)
---------------------------------------------------------------------------
00000111 00000000 01010110 00010010
+ 00000000 don't add 43-- ^
------------------
00000000 01010110
00000110 (decr) 00100100
(lshift)
not zero 00000000 10101100 (lshift)
---------------------------------------------------------------------------
answer...
counter partial sum multiplier
---------------------------------------------------------------------------
00001000 00000000 00000000 10001001
+ 00101011 add 43-------- ^
------------------
00000000 00101011
00000111 (decr) 00010010
(lshift)
not zero 00000000 01010110 (lshift)
---------------------------------------------------------------------------
00000111 00000000 01010110 00010010
+ 00000000 don't add 43-- ^
------------------
00000000 01010110
00000110 (decr) 00100100
(lshift)
not zero 00000000 10101100 (lshift)
---------------------------------------------------------------------------
00000110 00000000 10101100 00100100
+ 00000000 don't add 43---^
------------------
00000000 10101100
00000101 (decr) 01001000
(lshift)
not zero 00000001 01011000 (lshift)
---------------------------------------------------------------------------
00000101 00000001 01011000 01001000
+ 00000000 don't add 43---^
------------------
00000001 01011000
00000100 (decr) 10010000
(lshift)
not zero 00000010 10110000 (lshift)
---------------------------------------------------------------------------
00000100 00000010 10110000 10010000
+ 00101011 add 43-------- ^
------------------
00000010 11011011
00000011 (decr) 00100000
(lshift)
not zero 00000101 10110110 (lshift)
---------------------------------------------------------------------------
00000011 00000101 10110110 00100000
+ 00000000 don't add 43---^
------------------
00000101 10110110
00000010 (decr) 01000000
(lshift)
not zero 00001011 01101100 (lshift)
---------------------------------------------------------------------------
00000010 00001011 01101100 01000000
+ 00000000 don't add 43---^
------------------
00001011 01101100
00000001 (decr) 10000000
(lshift)
not zero 00010110 11011000 (lshift)
---------------------------------------------------------------------------
00000001 00010110 11011000 10000000
+ 00101011 add 43-------- ^
------------------
00010111 00000011
00000000 (decr) 00000000
(lshift)
zero do not shift
---------------------------------------------------------------------------