电机算法中会用到开平方算法,是个相对复杂和耗时些的数学算法
C math库的double sqrt耗时太长,不能用
我没有用过IQmath库,自己编了个整数开平方算法:

很久以前写的,最近看了看,实在想不起来当初是怎么写的了………………………
这两天查了一下,应该是列竖式开平方手工算法的代码实现,
http://mp.weixin.qq.com/s?__biz=MzI2NDE4NTQ5NA==&mid=410324912&idx=1&sn=979e471b23c38ef456911d3d35e36b07&scene=0#wechat_redirect
这个链接是我在个人微信公众号里写的一个东西,自己手算了一下10进制和2进制的开方运算,并且验证了网上找的一个代码的正确性,在CC3200平台上测试了一下算法时间,并且和C math库的sqrt运算时间做了对比。
我贴图的这个算法是我目前使用的代码,感觉应该也是列竖式开平方算法,不太确定,没有想明白。
向大家请教下
另,链接中写的不对的地方欢迎大家指正。
囧:
你是在CC3200测试的?C2000有自己IQMath开方库,可以直接调用,效率比较高
电机算法中会用到开平方算法,是个相对复杂和耗时些的数学算法
C math库的double sqrt耗时太长,不能用
我没有用过IQmath库,自己编了个整数开平方算法:

很久以前写的,最近看了看,实在想不起来当初是怎么写的了………………………
这两天查了一下,应该是列竖式开平方手工算法的代码实现,
http://mp.weixin.qq.com/s?__biz=MzI2NDE4NTQ5NA==&mid=410324912&idx=1&sn=979e471b23c38ef456911d3d35e36b07&scene=0#wechat_redirect
这个链接是我在个人微信公众号里写的一个东西,自己手算了一下10进制和2进制的开方运算,并且验证了网上找的一个代码的正确性,在CC3200平台上测试了一下算法时间,并且和C math库的sqrt运算时间做了对比。
我贴图的这个算法是我目前使用的代码,感觉应该也是列竖式开平方算法,不太确定,没有想明白。
向大家请教下
另,链接中写的不对的地方欢迎大家指正。
user78960159:
回复 囧:
恩 都得 要用CC3200做一个监控系统 有一些计算类的处理 我就想起做2000系列电机算法时用的定点开平方了
恩 IQ库是好用
就是觉得都在做面相对设计
API调用官方库 使用官方算法 官方驱动 类库
这样导致调试时做好别需要驱动问题 遇到以后就是束手无策
了解一些底层运算还是有好处的
TI中文支持网


