用条件循环每个数字的最快方法

Tom*_*len 9 c performance bit-manipulation bitwise-operators

给定64位整数,其中要评估的最后52位和前12位将被忽略,将7位开启和所有其他位组合的最快方法是什么?

例:

第一种排列:

0[x57]1111111
Run Code Online (Sandbox Code Playgroud)

最后的排列

00000000000011111110[x45]
Run Code Online (Sandbox Code Playgroud)

其中0[xn]意味着n关闭(零)位.

速度绝对至关重要,我们希望节省每个时钟周期,因为它是需要在合理的时间内评估数十亿个州的更大解决方案的一部分.

不需要工作解决方案,但一些伪代码会很好:)

rus*_*lik 10

我想你会对这篇文章感兴趣:http://realtimecollisiondetection.net/blog/?p = 78

它以非常有效的方式解决您的问题.

  • 一眼我就想:“碰撞检测?WTF?” (2认同)