(defn evaluate-numeral [numerals radix] (apply + (map-indexed (fn [i v] (* v (Math/pow radix (- (dec (count numerals)) i)))) numerals))) (= (evaluate-numeral '(1 0 1 0 1) 2) 21)

You can also evaluate the amount of digits needed for a number in any numeral system:

(defn digits-in-number [num radix] (inc (Math/floor (/ (Math/log num) (Math/log radix))))) (= (digits-in-number 255 2) 8)

## No comments:

## Post a Comment