首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cordic问题的乘法

cordic问题的乘法
EN

Stack Overflow用户
提问于 2016-08-30 05:19:27
回答 1查看 73关注 0票数 0

这是cordic乘法函数,当我从互联网上运行时,我得到了一个代码。但这与预期的数据有很大的不同。如何修改以使代码具有正确性?

更新代码

代码语言:javascript
复制
 for (i=1; i=<8; i++)
 { 
  if (x > 0) {
   x = x - pow(2,-i);
   z = z + y*pow(2,-i);
   }
   else{
   x = x + pow(2,-i);
   z = z - y* pow(2,-i);
  }

如果我确实使用x=7运行,那么y=8将z=7.000而不是56。

什么是错误的观点?

update2

我得到了正确的答案,但Thnaks,我已经检查了它的工作范围。顺便问一下,有扩展范围算法吗?如何进行范围扩展?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-30 06:54:49

看起来您从本论文获得了这个函数(没有属性!)。代码中充满了明显的排字,但是如果您阅读下面这段函数,它会说:

这个计算假设x和y都是小数范围从-1到1。只要允许小数点浮动,该算法对其他范围是有效的。通过一些扩展,该算法可以很好地处理浮点数据。

带回家的信息:对于您计划使用的任何代码,请始终阅读附带的文档,特别是当您不了解它是如何工作的时候。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39219258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档