我试图以二进制表示形式获得浮点平方根。我找到了牛顿的方法,但它处理十进制表示。是否有算法以二进制表示形式执行?
换句话说,只使用按位运算。
答案 0 :(得分:4)
Zuse's Z3 Square Root Algorithm处的PDF解释了Z3机器从1939年开始使用的算法,仅使用二进制运算来执行浮点数的平方根。
Z3使用的平方根算法是" completing the square"的二进制模拟。算法,一种一次获得一个平方根的手动技术。
算法在第5页
摘要" ... 3。对该算法的仔细研究表明,它只需要减法运算,左移(乘2),设置位,如果为正或零则测试。 - 所有这些都易于在二进制逻辑中实现。"