需要帮助编写代码,无需使用toString即可将十进制转换为二进制

问题描述 投票:-3回答:2

我正在尝试通过将输入变量(十进制值)除以2并存储余数(如2年级数学余数)的方法来创建自己的十进制至二进制转换器,方法是将其始终为0或1.我稀薄的每个余数应该存储在一个数组中,我想也许应该倒过来,以便最高有效位在数组中的第一位(这是因为递减时,余数是从左到右填充的)。 Soooo是的,我真的不知道如何使用函数将余数存储在数组中在此先感谢您,如果有什么令人困惑的地方,请随时提出,因为即时消息甚至不确定这是否是执行此操作的最佳方法,这正是我想出的方法

function decimalToBinary(num) {
  var bin = 0;
  while (num > 0) {
  bin = num % 2 + bin;
  num >>= 1; // basically /= 2 without remainder if any
  }
  alert("That decimal in binary is " + bin);
}
javascript binary decimal converter
2个回答
0
投票

您的代码几乎正确。主要问题是bin开始时是0;当您添加数字时,它们会以数字形式相加,因此您的代码最终只计算二进制1:这样,10是初始的0,然后是+1+0+1+0,结果是2。您想将其作为字符串处理:""+1+0+1+0产生1010。因此,唯一需要的更改是:


0
投票

仅复制粘贴toBin方法,我将其记为自定义方法。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.