开方算法(square root algorithm),理学-计算机科学技术-计算机体系结构-计算机算术,实现计算某个数的平方根的方法。由于多数的平方根是无理数,一般是计算出达到一定精度的近似值。计算某个数的平方根的算法很多,一般都是通过对某个初始估计值反复迭代求精来计算平方根的近似值,根据迭代过程中的主要运算类型可分为两大类:①基于乘法的二次收敛算法。迭代计算的主要运算为乘法,还有减法和移位运算。常见的主要有牛顿-拉弗森算法(简称牛顿迭代法)和Goldschmidt’s算法。基于乘法的算法是二次收敛的,即每迭代一次结果的精度翻一倍。②基于减法的线性收敛算法。迭代计算的主要运算为减法和移位运算,常见的算法有恢复余数、不恢复余数和SRT算法等。这类算法也常被称为数字循环(digit recurrence)算法。基于减法的算法是线性收敛的,即每迭代一次结果的精度线性增加。每次迭代增加的结果精度位数与算法的基数r有关:基数为r的算法每次迭代增加结果精度位数为log2r。