이진수를 문자열로 받아 10진수로 반환하는 JavaScript 함수를 작성해야 합니다. 따라서 함수에 대한 코드를 작성해 보겠습니다.
이것은 매우 간단합니다. for 루프를 사용하여 문자열을 반복하고 각 전달 비트에 대해 다음과 같이 현재 비트 값을 추가하여 숫자를 두 배로 늘립니다.
예시
const binaryToDecimal = binaryStr => { let num = 0; for(let i = 0; i < binaryStr.length; i++){ num *= 2; num += Number(binaryStr[i]); }; return num; }; console.log(binaryToDecimal('1101')); console.log(binaryToDecimal('1101000')); console.log(binaryToDecimal('10101'));
출력
콘솔의 출력은 -
13 104 21