《雷神之锤3》中平方根算法你见过吗,这段代码简直吊炸天!

不知道各位大牛有没有玩过雷神之锤的游戏?据说这是九十年代一个非常经典的游戏。雷神之锤的游戏,内容以及画面都相当不错,而且在很低配置的计算机中,玩游戏也相当流畅。雷神之锤3的作者是约翰卡马克,早前,雷神之锤三的源码公开。卡马克大神有一段代码,简直是吊炸天。

这段代码,据说主要用处是把一个数开平方并且取倒。经过测试之后,据说上面这段代码,尽然比(float)(1.0/sqrt(x))更快,而且是快4倍。

具体的实现过程比较复杂,下面是实现过程。

关于这段代码,网友又是怎么回复的:

网友一:这段代码魔法所在的地方,那就是0x5f3759df。

网友二:很简单的说,这个算法,是求得足够精确近似值比较高效的一种。那个常数相当不科学,据说至今为止,还没有人明白那个常数究竟是怎么得到的。

网友三:和系统函数相比较,这段代码的运算效率更快。

网友四:有没有具体的实现过程。

网友五:简直是吊炸天了。

据说后来,为了研究这段代码,普渡大学一位数学家开始了长期的研究过程。最后终于计算出了结果,他还把计算出的那个起始值同卡马克竞赛,但是他输了。从这边可以看出,卡马克确实很牛逼。关于上面这段代码,你觉得怎么样?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《雷神3:诸神黄昏》这部漫威电影将于今年11月份与大家见面,其取材于漫威漫画《诸神黄昏》。在前几天上线的《雷神3》...
    漫小威阅读 2,255评论 0 0
  • 自上次写了篇关于拖延的文章之后,我是深深的对于拖延带来的后遗症而感到恐惧,我不能这样让拖延的习惯腐蚀我的灵魂。 以...
    旅途觉醒阅读 412评论 4 1
  • 新闻中每天都充斥着各种各样的逆袭,现在的人无一例外的想要出名,这也无可厚非,在人才济济的社会,只有有机会出名了,财...
    爱图腾阅读 394评论 1 1
  • 我们必须在这天 放下工作也放下肉体 抛弃生命所能承载的甜酸苦辣 任由自在 2017.5.1
    桃都别园阅读 143评论 0 0
  • 【20171108每日一问】 请简述一本您在这段时间内使用快速阅读法读过书籍的概况,并讲讲您在使用快速阅读法之后的...
    独自的絮阅读 141评论 0 0