第一位的索引

Mic*_*mza 4 haskell bit-manipulation

我可以在http://hackage.haskell.org/package/base-4.7.0.0/docs/Data-Bits.html#v:bit中看到如何从Int,n转换为具有第n位的位设置,使用

bit :: Int -> a
Run Code Online (Sandbox Code Playgroud)

但是,我该怎么做呢?(假设输入位只有1位设置?)

eph*_*ent 7

由于base-4.8.0.0

countLeadingZeros :: FiniteBits b => b -> Int
countTrailingZeros :: FiniteBits b => b -> Int
Run Code Online (Sandbox Code Playgroud)

它们分别从最重要和最不重要的结束开始索引最重要和最不重要的设置位.从finiteBitSize :: FiniteBits b => b -> Int另一端减去计数.