빠른 나눗셈 알고리즘을 찾아서 3
이번글에서는 두번째 글에서 제시했던 알고리즘을 실제 사용가능하도록 개량해보도록 하겠습니다. 알고리즘 I. 4n자리 수 A를 2n자리 수 B로 나누는 알고리즘 (단 A < BX^2. 즉 몫이 2n자리 이하로 나오는 경우) 1. n자리씩 묶어서, A를 [a3, a2, a1, a0], B를 [b1, b0]이라고 합니다. 2. [a3, a2, a1]을 [b1, b0]으로 나눕니다. 몫을 q1, 나머지를 [r2, r1]이라고 합니다. 3. [r2, r1, a0]를 [b1, b0]으로 나눕니다. 몫을 q0, 나머지를 S라고 합니다. 4. 몫으로 [q1, q0], 나머지로 S를 출력합니다. 알고리즘 II. 3n자리 수 A를 2n자리 수 B로 나누는 알고리즘 (단 A < BX. 즉 몫이 n자리 이하로 나오는 경우) 1..
프로그래밍/Multi precision
2014. 4. 22. 04:24