首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘to base-10’程序

‘to base-10’程序
EN

Stack Overflow用户
提问于 2019-02-05 22:19:00
回答 1查看 60关注 0票数 1

在我的es6编译器中,我正在处理一个函数,该函数将任何二进制数字转换为基-10数字。基本上,1和0都默认为1。

这个项目仅仅是一个12岁的孩子的乐趣(我),所以,如果有其他人有他们的工作,不要着急。无论如何,我发现问题在于当您输入二进制数字时,存储在convertedNumQuery中的数字以某种方式默认为1,即使这个数字是0。我在任何地方都试过调试,但可能只是因为我是个新手>.<

代码语言:javascript
复制
var numQuery = prompt("Enter a binary number to convert to base-10! Don't leave the \"0b\" in there.").split("");
var binaryChart = [1];
var convertedNumQuery = numQuery.map(Number);
var base10 = 0;
console.log(convertedNumQuery+ "\n");
for (var i = 0; i < (numQuery.length - 1); i++) {
    binaryChart.unshift(binaryChart[0]*2);
    console.log(binaryChart);
}
console.log(convertedNumQuery);
console.log("\n convertedNumQuery is array: " + Array.isArray(convertedNumQuery));
for (var i = 0; i < convertedNumQuery.length; i++ ) {
    if (convertedNumQuery[i] = 1) {
        base10 += binaryChart[i];
        console.log(convertedNumQuery[i]);
    }
}
console.log(base10);

假设我想转换的二进制数是101010,或者42。预期的结果( 42 )应该存储在base10中,但最终发生的是将binaryChart中的每个数字加到63中。更奇怪的是,当我在第15行convertedNumQuery中看到console.log(convertedNumQuery[i]);时,这个数组作为所有1s记录在控制台中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-05 22:32:12

为什么不直接使用parseInt来转换:

代码语言:javascript
复制
params : (number,base)

代码语言:javascript
复制
console.log(parseInt(110101, 2))

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54543936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档