二进制转十进制
技巧就是通过基数把进制进行分解,用 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";









网友评论