在OpenCL中计算尾随零

use*_*929 3 opencl

OpenCL的有一个内置函数CLZ()来计算的前导零的数量long,int等等.但没有什么相似的似乎是目前用于计算尾随零的数目.除了手动重新实施之外,我还没有找到任何方法来做到这一点.这样做的正确方法是什么?

zch*_*zch 6

x & -x
Run Code Online (Sandbox Code Playgroud)

留下一个最不重要的1位.要获得它的位置,您可以尝试以下方式:

32 - clz(x & -x)
Run Code Online (Sandbox Code Playgroud)

  • 实际上它是`63-clz(x&-x)` long 和`31-clz(x&-x)` int 但谢谢,这是有效的! (2认同)