c乘以0.5而不是除以2

c乘以0.5而不是除以2,第1张

概述当我在c中阅读提示时.我已经看到这个提示 http://www.cprogramming.com/tips/tip/multiply-rather-than-divide 但我不确定.我被告知,乘法和除法是较慢和耗时的,需要许多周期. 我看到人们经常使用i< 2而不是i x 4,因为转移更快. 所以帮助我这是一个很好的提示使用x0.5或/ 2?或者现代编译器是否会以更好的方式优化它?我想知道来自s 当我在c中阅读提示时.我已经看到这个提示 http://www.cprogramming.com/tips/tip/multiply-rather-than-divide
但我不确定.我被告知,乘法和除法是较慢和耗时的,需要许多周期.

我看到人们经常使用i< 2而不是i x 4,因为转移更快. 所以帮助我这是一个很好的提示使用x0.5或/ 2?或者现代编译器是否会以更好的方式优化它?我想知道来自stackoverflow的人的意见. 也可以发布一些有用的提示的链接n陷阱在c.任何帮助是极大的赞赏.

解决方法 确实,一些(如果不是大多数)处理器可以乘以更快的速度,然后执行除法.但是,就像我在一个循环中我的速度更快的神话.是的,曾经是,但是现在,编译器是足够聪明的,以优化所有这些东西给你,所以你不应该关心这个了.

并且关于位移,一旦更快地移动< 2然后乘以4,但是这几天结束了,大多数处理器可以在一个时钟周期内繁殖,就像移位 *** 作一样.一个很好的例子就是计算VGA 320x240模式下的像素地址.他们都这样做:

address = x + (y << 8) + (y << 6)

将y乘以320.在现代处理器上,实际上是慢多倍

address = x + y * 320;

所以,只是写你的想法,编译器会做的其余:)

总结

以上是内存溢出为你收集整理的c乘以0.5而不是除以2全部内容,希望文章能够帮你解决c乘以0.5而不是除以2所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存