我正在查看一种特定的算法来计算平方根,该算法返回平方根的整数部分和余数。
例如:mysqrt(140) = 11 * 11 + 19 = 整数11,余数19
问题是我能否计算浮点数的平方根,例如140的平方根约为11.8321...?
编辑来自评论
我正在查看一个固定点平方根的VHDL实现,该实现仅使用左/右移位、加法和减法等二进制操作。
...这个算法就足够了。
编辑2 我实际上正在阅读此处的算法:http://pioneer.netserv.chula.ac.th/~achatcha/Publications/0012.pdf 似乎通过将被开方数左移2n可以获得更好的精度。我不太确定为什么会起作用?能有人解释一下吗?
例如:mysqrt(140) = 11 * 11 + 19 = 整数11,余数19
问题是我能否计算浮点数的平方根,例如140的平方根约为11.8321...?
编辑来自评论
我正在查看一个固定点平方根的VHDL实现,该实现仅使用左/右移位、加法和减法等二进制操作。
...这个算法就足够了。
编辑2 我实际上正在阅读此处的算法:http://pioneer.netserv.chula.ac.th/~achatcha/Publications/0012.pdf 似乎通过将被开方数左移2n可以获得更好的精度。我不太确定为什么会起作用?能有人解释一下吗?
remainder 9
改为19
)。 - NPE