将方程转换为位移 *** 作

将方程转换为位移 *** 作,第1张

概述有没有将(任意)方程转换为位移 *** 作的标准方法? 我的意思是将任何不是a或 – 的东西转换成位移,因此结束方程只包含 *** 作数<<,>>,和 – .这有利于使公式减少处理器密集度. 显然,这些结果方程只是近似值,在考虑的顺序越多(一阶,二阶e.t.c)时给出更好的准确性. 我已经在网上搜索了关于此的任何信息,但找不到任何信息,除了特定公式的内容(sin,cos,inv e.t.c). 我想象的是多项式或 有没有将(任意)方程转换为位移 *** 作的标准方法?

我的意思是将任何不是a或 – 的东西转换成位移,因此结束方程只包含 *** 作数<<,>>,和 – .这有利于使公式减少处理器密集度.

显然,这些结果方程只是近似值,在考虑的顺序越多(一阶,二阶e.t.c)时给出更好的准确性.

我已经在网上搜索了关于此的任何信息,但找不到任何信息,除了特定公式的内容(sin,cos,inv e.t.c).

我想象的是多项式或泰勒的扩展过程,然后将其转换为位移 *** 作.

解决方法 仅仅因为你将某些东西简化为更简单的指令,并不意味着它们会以某种方式执行得更快或更少.虽然您可以将许多事情减少到减少的 *** 作子集,但您可能需要更多的 *** 作才能完成相同的任务.处理器每秒只能执行如此多的 *** 作,而您将首先遇到这种情况.

通常,当尝试在较低级别优化某些内容时,您会尝试使用更复杂的 *** 作码,以便您需要更少的 *** 作码.例如,您可以通过执行许多ADD指令来执行乘法运算.但是,对于除了最简单的例子之外的任何事情,它将花费比单个Mul *** 作码更多的ADD,并且执行时间要长得多.

回到你的实际问题但是……完全无视效率,你可以计算任何东西,只要你拥有的指令集是图灵完成.如果你小心选择那条指令,你实际上可以使用a single instruction来计算任何东西.我不相信有任何通用的方式来说“将任意算法转换为仅使用这些指令”,这通常是编译器编写者的工作.

总结

以上是内存溢出为你收集整理的将方程转换为位移 *** 作全部内容,希望文章能够帮你解决将方程转换为位移 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1239821.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存