给定一个 64 位整数,其中要计算的最后 52 位和前 12 位将被忽略,循环 7 位和所有其他位的每个组合的最快方法是什么?
例子:
第一个排列:
0[x57]1111111
最后的排列
00000000000011111110[x45]
0[xn]
表示 n
关闭(零)位。
速度绝对至关重要,我们希望尽可能节省每个时钟周期,因为它是需要在合理时间内评估数十亿个状态的更大解决方案的一部分。
不需要可行的解决方案,但一些伪代码就可以了:)
最佳答案
我想您会对这篇文章感兴趣:http://realtimecollisiondetection.net/blog/?p=78
它以非常有效的方式解决了您的问题。
关于c - 用条件循环每个数字的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3931306/