2012-03-02 4 views
3

OpenCLには、long,intなどの先行ゼロの数を数えるための組み込み関数clz()がありますが、末尾のゼロの数を数えるための類似点はありません。私はこれを行うための方法を見つけることができませんでしたが、手動で再実装するだけではありません。これを行う適切な方法は何ですか?OpenCLの末尾のゼロをカウントする

答えて

6
x & -x 

最下位1ビットを1つ残します。

32 - clz(x & -x) 
+1

実際に、それはだ '63-CLZ(xは-x&)' '長く、31-CLZのために(xは-x&)' int型が、感謝のために、動作します。その位置を取得するには、のような何かを試すことができます! – user1111929

関連する問題