
个人主页:丷从心.
系列专栏:Python基础
学习指南:Python学习指南

问题描述
- 设 X X X和 Y Y Y都是 n n n位二进制整数,计算它们的乘积 X Y XY XY
基础算法
- 将 n n n位二进制整数 X X X和 Y Y Y都分为 2 2 2段,每段的长为 n / 2 n / 2 n/2位(假设 n n n是 2 2 2的幂)
- X = A × 2 n / 2 + B X = A \times 2^{n / 2} + B X=A×2n/2+B
- Y = C × 2 n / 2 + D Y = C \times 2^{n / 2} + D Y=C×2n/2+D
- X Y = ( A × 2 n / 2 + B ) ( C × 2 n / 2 + D ) = A C × 2 n + ( A D + B C ) × 2 n / 2 + B D XY = (A \times 2^{n / 2} + B)(C \times 2^{n / 2} + D) = AC \times 2^{n} + (AD + BC) \times 2^{n / 2} + BD XY=


959

被折叠的 条评论
为什么被折叠?



