返回设置了第一个X位的数字

Art*_*ldt 2 functional-programming clojure

什么是在clojure中实现这一目标的更有效方法:

(defn ones
  ([n] (ones n 1 1))
  ([n i res]
    (if (< i n)
      (recur n (inc i) (bit-set res i))
      res)))

当涉及到数字类型时,它应该仍然"做正确的事".

mqp*_*mqp 6

为什么不取2 ^(X-1)(通过只设置第X位)然后减去1?