在寻找合理快速的算法来计算最多n位数字的平方根时,我偶然发现了该算法:
https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Binary_numeral_system_(base_2)
我必须承认,这是一段漂亮的代码,但是维基百科上提供的解释并没有真正对我说话。我已经尝试理解了几个小时,但我根本不知道它是如何工作的-我在纸上做了一些示例计算,但似乎没有帮助。
所以,这就是为什么我在这里问这个问题,做一个解释真的很有用。
此外,如果应该更快地使用此方法,为什么它不是标准C库中使用的方法呢?