JS100 진수변환
43
사용자에게 숫자를 입력받고 이를 2진수를 바꾸고 그 값을 출력해주세요.
1번 방법
let n = Number(prompt('10진수 숫자를 입력하세요.')).toString(2);
console.log(n) // prompt로 받은 값을 Number()로 정수화, toString거치면서 string된다.
2번 방법
let a = prompt('10진수를 입력해주세요.') //4 입력시
let b = [];
let result = '';
while (a){ // a 가 참인 경우 (a 가 0 이 되면 false 가 됨) while 문을 반복
b.push(a % 2);
a = parseInt(a / 2, 10);
}
b.reverse(); // [0, 0, 1]
b.forEach((n) => {
result += n;
})
console.log(result);
toString()과 parseInt()
10진수를 다른 진수로 변환하기 위해서는 toString()을,
다른 진수를 10진수로 변환하기 위해서는 parseInt()를 쓴다.
toString()
특정 객체를 문자열로 반환해주는 기능말고 진수변환에도 이용된다.
인자로 2와 36사이의 정수가 들어간다. radix라고 함.
그 외 다른 수가 들어간다면 RangeError 뜬다.
let intNum = 3;
console.log(intNum.toString(2)); //11
intNum = 32;
console.log(intNum.toString(16)); //20
// 2*16의1승 = 32
반환된 11, 20의 타입은 String 이다.
parseInt()
인수로는 ('변환시키고자하는 문자열', 해당 수의 진수) 가 들어간다.
물론 두번째 인자도 radix다.
let intNum = "11";
let parsing = parseInt(intNum, 2);
console.log(parsing); //3
Author And Source
이 문제에 관하여(JS100 진수변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@heyho9292/JS100-진수변환저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)