Javascript 函数将数字转换为二进制字符串

Javascript 函数将数字转换为二进制字符串,javascript,function,binary,Javascript,Function,Binary,编写函数将传入的数字转换为二进制字符串。函数正在创建一个正确的二进制序列,但我的比较函数在比较一个等于binaryIndex[0](例如n=32,16,8,4)的数字时跳过了第一个索引。你知道为什么吗 此步骤创建一个二进制有序数组,我将使用该数组检查传入的参数: var Bin = function(n) { var x =1; var binSeq=[]; var converted=[]; for (var i=0; x <= n; i++) { binSeq.un

编写函数将传入的数字转换为二进制字符串。函数正在创建一个正确的二进制序列,但我的比较函数在比较一个等于
binaryIndex[0]
(例如n=32,16,8,4)的数字时跳过了第一个索引。你知道为什么吗

此步骤创建一个二进制有序数组,我将使用该数组检查传入的参数:

var Bin = function(n) {
  var x =1;
  var binSeq=[];
  var converted=[];
  for (var i=0; x <= n; i++) {
  binSeq.unshift(x)
  x = x+x
  }
  console.log(binSeq)

指向代码笔的链接:

实际上,这就可以了

function dec2bin(dec){
    return (dec >>> 0).toString(2);
}
此处解释==>

-3>>>0(右逻辑移位)将其参数强制为无符号整数,这就是32位2的补码表示形式为-3的原因


你就不能只做12月2号吗?
function dec2bin(dec){
    return (dec >>> 0).toString(2);
}