gpt4 book ai didi

javascript - 在javascript中转换为基数42

转载 作者:行者123 更新时间:2023-12-01 00:24:57 25 4
gpt4 key购买 nike

我想在 Javascript 中将整数形式以 10 为基数转换为以 42 为基数,

默认情况下,Javascript 只能以 36 为基数。

我该如何解决这个问题?

最佳答案

首先,您需要某种符号系统来表示数字。以 10 为基数,我们有 10:0 - 9。在 16 进制中,有 16 个 0 - 9A – F。二进制,当然你只有 2 个:01

因此,对于 42 基数,您需要 42 种类型的数字。因为这看起来像是一个练习,可能包括大写和小写数字(我相信如果你用心的话会有更好的方案):

const symbols = "0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f".split(" ")

因此数字 0 - 41 将是 0f。 42 将从 10 开始 42**2 将从 100 等开始。

要得到最右边的数字,可以对基数取模。然后除以底数(并取地板)并再次执行此操作,直到您的数字减至零。根据上面的方案,这里以 42 为基数计数到 100:

const symbols = "0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f".split(" ")
function toBase(n, base){
if (n === 0 ) return symbols[n]
res = ""
while (n) {
res = symbols[n % base] + res
n = Math.floor(n / base)
}
return res
}

console.log(Array.from({length: 100}, (_, i) => toBase(i, 42)).join(", "))

关于javascript - 在javascript中转换为基数42,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59093447/

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