从最后转换第k位

时间:2016-11-13 14:21:46

标签: haskell

嗨,我是哈斯克尔的新人。

任何人都可以告诉我从haskell中给定的Integer的最后一位转换Kth位。

对于n = 37且k = 3,输出应为 killKthBit(n,k)= 33。

37 = 100 1 01〜> 100 0 01 = 33。

1 个答案:

答案 0 :(得分:1)

您正在寻找Data.Bits中的Bits类型类。 Integer有一个Bits的实例,所以你可以:

clearBit 37 2 -- 2 because we are indexing from 0.