2012-03-02 83 views
3

OpenCL有一个内置函数clz()来计算一个long,int等的前导零的数量,但似乎没有类似的结果来计算尾随零的数量。我一直无法找到任何方法来做到这一点,除了手动重新执行。什么是正确的方法来做到这一点?在OpenCL中计算尾随零

回答

6
x & -x 

留下一个最不重要的1位。为了得到这个位置,你可以尝试这样的:

32 - clz(x & -x) 
+1

实际上它是'63 CLZ(X -x)'长和'31 CLZ(X -x)'为INT但感谢,认为工程! – user1111929 2012-03-02 13:44:18