二进制系统

2022-01-06  本文已影响0人  zhao_ran
二进制转十进制

技巧就是通过基数把进制进行分解,用 JS语法来分解,其中**为幂符号,并且0的幂都是1;

二进制的101010,基数为2,可以分解为:

1 * 2 ** 5 === 32;
0 * 2 ** 4 === 0;
1 * 2 ** 3 === 8;
0 * 2 ** 2 === 0;
1 * 2 ** 1 === 2;
0 * 2 ** 0 === 0;

32 + 0 + 8 + 0 + 2 + 0 = 42;
十进制转二进制

方法是重复除以2并记录余数,一直到0为止,例如十进制的245:

function decimalToBinary(num, result = []) {
  const round = Math.floor(num / 2);
  result.unshift(num % 2);
  if (round === 0) {
    return result.join("");
  } else {
    return decimalToBinary(round, result);
  }
}

decimalToBinary(245) === "11110101";

// 验算一下
(245).toString(2) === "11110101";

gitHub详解地址

上一篇 下一篇

猜你喜欢

热点阅读