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