gpt4 book ai didi

clojure - 在 Clojure 中将数字从 10 进制转换为另一个进制

转载 作者:行者123 更新时间:2023-12-02 06:00:37 24 4
gpt4 key购买 nike

我应该编写一个包含 2 个参数的函数,它将第一个数字从基数 10 转换为基数 b。返回值应该是一个集合。

我试过使用 format 但我不知道如果 b2,9,0 等时如何使用它。

(defn f[x y]
(cond
(= y 8)(format "octal %o" x)
(= y 16)(format "hex %x" x)
(= y 10)(format "decimal %d" x)
:else 0))

最佳答案

考虑到这不是您必须做的某种练习手动进行转换,您可以使用 Java 的 Integer.toString

例如

user> (Integer/toString 123456 13) ;; 123456 in base 13
"44268"

至于序列部分你可以(seq (Integer/toString numb base)但是,这将返回字符(0-9 和 a-z)。你可能会需要一个查找函数来获取数字。

同时检查 toString 文档是否允许根。

如果另一方面要求您手动转换那么 this MO 文章可能是一个好的开始。

关于clojure - 在 Clojure 中将数字从 10 进制转换为另一个进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26082594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com