gpt4 book ai didi

javascript - 将基数 10 转换为任意基数的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:19:12 25 4
gpt4 key购买 nike

我制作了这个 javascript 程序,将以 10 为基数的数字转换为另一个基数(小于 10)。我想知道为什么程序没有响应。

Number to transform:<input type="text" id="number" /><br />
Base to transform to:<input type="text" id="basen" /><br />
<input type="submit" onclick="transform()" value="Transform" />
<script>
function transform()
{
var i=0;
var a;
var b;
var c;
var e;
var t=0;
var pui;
while(Math.pow(basen.value,i) <= number.value)
{
i++;
}
var pui=i-1;
while(pui>=0)
{
a=1;
while(Math.pow(basen.value,pui)*a <= number.value-t)
{
a++;
}
b=a-1;
e=10^pui;
t+=b*e;
pui--;
}
document.write(pui);
}

</script>

最佳答案

正如 Eric Jablow 评论的那样,JavaScript 中的 ^ 是按位异或运算符。您想改用 Math.pow(number, power)

但是,您的整个算法可以替换为内置的 Number.toString .例如:

(5).toString(4); // "11"

还有:

  • 这里有一个语法错误:

    b=a-1:
    ^ -- should be a semicolon, not a colon

    如果您在测试时保持浏览器控制台打开,这种错误很容易被发现。

  • 您的代码依赖于浏览器执行的一些魔法,这些魔法会根据 HTML 元素 ID 属性自动创建变量。不要那样做,使用 document.getElementById 获取元素引用。

关于javascript - 将基数 10 转换为任意基数的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16754241/

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