21ic电子技术开发论坛 单片机与嵌入式系统 Microchip 单片机快速算法
发新帖我要提问
返回列表
打印

单片机快速算法

[复制链接]
2711|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hufa123|  楼主 | 2011-7-22 11:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开平方用牛顿迭代,那平方有什么好的快速算法吗?求指教
沙发
yewuyi| | 2011-7-22 11:39 | 只看该作者
平方就是乘法,

使用特权

评论回复
板凳
hufa123|  楼主 | 2011-7-22 11:43 | 只看该作者
double型数据相乘,用PIC16F747处理 感觉吃紧 还有代码空间很大 斑竹给高见

使用特权

评论回复
地板
yewuyi| | 2011-7-22 11:47 | 只看该作者
double型数据相乘,用PIC16F747处理 感觉吃紧 还有代码空间很大 斑竹给高见
hufa123 发表于 2011-7-22 11:43


如果是double的话,除非你的运算时间没有要求,否则PIC16F747比较为难它。

PIC16F747已经是很老的型号的,价格昂贵,性能较低,建议阁下使用PIC16F1947等,如果你用PIC16F747只是感觉到吃紧的话,那么用PIC16F1947则会非常轻松,可以把振荡开到32M频率

使用特权

评论回复
5
兰天白云| | 2011-7-22 16:01 | 只看该作者
快速算法是有的,在比较老的51汇编例程等书籍,需要自己把代码翻译成PIC的,代码比较长

使用特权

评论回复
6
virtualtryon| | 2011-8-29 22:58 | 只看该作者
开平方用平方去算,逐位逼近,比如要计算sqrt(a),先判断a的位数,如果a是32位的类型,则sqrt(a)最多为16位.
先把最高位置1,平方一下,算一下是否比a小,如果小,再把第15位置1,再重复上面的步骤.否则把第16位清零,把第15位置1.这样只要循环16次就OK了.
平方也一样用逐位逼近,不知道牛顿迭代是怎么样的算法.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

186

主题

393

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部