Arithmetic Algorithms, Part 1
DPV Chapter 1
Jim Royer
EECS
January 18, 2019
Royer Arithmetic Algorithms, Part 1 1/ 15
Arithmetic Algorithms, Part 1 DPV Chapter 1 Jim Royer EECS - - PowerPoint PPT Presentation
Arithmetic Algorithms, Part 1 DPV Chapter 1 Jim Royer EECS January 18, 2019 Royer Arithmetic Algorithms, Part 1 1/ 15 Multiplication ` a la Franc ais function multiply( a , b ) // input: two n -bit integers a and b with b 0
EECS
Royer Arithmetic Algorithms, Part 1 1/ 15
Royer Arithmetic Algorithms, Part 1 2/ 15
Royer Arithmetic Algorithms, Part 1 3/ 15
Royer Arithmetic Algorithms, Part 1 4/ 15
Division
function divide(a,b) // input: two n-bit integers a and b with a ≥ 0 and b > 0 // output: (q, r) where a = q · b + r and 0 ≤ r < b if a = 0 then return (0, 0) (q′, r′) ← divide(⌊a/2⌋, b) q ← 2 · q′ r ← 2 · r′ if a is odd then r ← r + 1 if r ≥ b then r ← r − b; q ← q + 1 return (q, r) Correctness Case a = 0: . . . On the board. Case a even and > 0: . . . On the board. Case a odd: . . . Exercise for the reader. Run-time analysis: Homework problem.
2019-01-18
(i)
(ii)
Royer Arithmetic Algorithms, Part 1 5/ 15
Royer Arithmetic Algorithms, Part 1 6/ 15
Royer Arithmetic Algorithms, Part 1 7/ 15
Royer Arithmetic Algorithms, Part 1 8/ 15
Royer Arithmetic Algorithms, Part 1 9/ 15
Royer Arithmetic Algorithms, Part 1 10/ 15
Royer Arithmetic Algorithms, Part 1 11/ 15
Royer Arithmetic Algorithms, Part 1 12/ 15
Royer Arithmetic Algorithms, Part 1 12/ 15
Royer Arithmetic Algorithms, Part 1 12/ 15
Royer Arithmetic Algorithms, Part 1 12/ 15
Royer Arithmetic Algorithms, Part 1 12/ 15
Royer Arithmetic Algorithms, Part 1 12/ 15
Royer Arithmetic Algorithms, Part 1 12/ 15
Royer Arithmetic Algorithms, Part 1 12/ 15
Royer Arithmetic Algorithms, Part 1 13/ 15
Royer Arithmetic Algorithms, Part 1 14/ 15
Royer Arithmetic Algorithms, Part 1 14/ 15
Royer Arithmetic Algorithms, Part 1 14/ 15
Royer Arithmetic Algorithms, Part 1 14/ 15
Royer Arithmetic Algorithms, Part 1 14/ 15
(a)
(b)
Royer Arithmetic Algorithms, Part 1 15/ 15