Professional Documents
Culture Documents
IT161 - Multiplication Algorithms
IT161 - Multiplication Algorithms
MULTIPLICATION
ALGORITHMS
ATHAK YADAV
ID: 202151033
SECTION - 1
BOOTS ALGORITHM:
INTRODUCTION: In a nutshell, this algorithm multiplies two signed binary numbers in 2's
complement notation.
One thing to notice about this algorithm, is you never multiply while you compute your
desired result of multiplication, while in simple multiplication you take single digits of the
multiplier and multiply it with the multiplicand, Boots algorithm takes the help of arithmetic
shift and (+) operand which are way much faster than the multiplier (*) operand and
computes the desired result.
Taking an example of a 4-bit number = 15, wherein normal multiplication takes 15 steps
boots only takes only 4, which is a surprise because it is equal to the number of bits, so we
are given a 16-bit number we can compute the result in 16 steps whereas the traditional
multiplication method would take 65535 steps to compute the result, so in comparison to the
traditional method, it is very, very fast.
How it works:
Taking two no X and Y where they are represented in a manner.
X = Xh*Bm +Xl and Y = Yh*Bm +Yl
Here B = 10, m = number of digits.
for example. X = 12345678 and Y = 23456789 then,
Xh = 1234, Xl = 5678; Yh = 2345, Yl = 6789;
Steps to solve the algorithm,
Step 1: Xh* Yh store in S1
Step 2: Xl* Yl store in S2
Step 3: (Xh + Xl )*( Yh + Yl) store in S3
Step 4: S3 – S2 – S1 store in S4
Step 5: S1 * (Bm) + S4 * (Bm/2) +S2 store in S5
Step 5 is the result of our multiplication.
https://www.researchgate.net/figure/Flowchart-for-radix-4-booth-algorithm_fig3_341668858
https://youtu.be/vcvgvqnH7GA
KARATSUBA ALGORITHM:
https://www.codingninjas.com/codestudio/library/karatsuba-algorithm-for-fast-multiplication-of-
large-decimal-numbers-represented-as-strings
https://iq.opengenus.org/karatsuba-algorithm/
https://youtu.be/JCbZayFr9RE?list=TLPQMjUwMzIwMjL8sQkAwaiZ4w
https://youtu.be/cCKOl5li6YM?list=TLPQMjUwMzIwMjL8sQkAwaiZ4w
https://www.cut-the-knot.org/Curriculum/Algebra/PeasantMultiplication.shtml
https://circles.math.ucla.edu/circles/lib/data/Handout-1902-1772.pdf