frontend/꿀팁

[자바스크립트 꿀팁] 진수 변환 (N 진수 > N진수)

NERD는 한글로 류호진 2022. 3. 23. 17:33

오늘은 진수변환에 대해서 알아 보도록 하겠습니다. 진수변환 다들 하실 줄 아시겠지만 자바스크립트에서는 toString() 메소드와 parseInt()메소드를 통해 아주 손쉽게 할 수 있습니다.

 

10진수  -> 2진수( 3, 4, 5...N 진수)
let decimal = 2022;
//10진수 -> 2진수
console.log(decimal.toString(2));
//10진수 -> 3진수
console.log(decimal.toString(3));
//10진수 -> N진수
console.log(decimal.toString(N));

간단합니다. 위와 같이 Number 프로토타입 안에 있는 toString메소드의 파라미터로 원하는 진수값을 넘겨주면 손쉽게 변경됩니다.

 

2진수 ( 3, 4, 5...N 진수 ) -> 10진수
//2진수 -> 10진수
let binary = "1011"
console.log(parseInt(number,2));
//3진수 -> 10진수
let trinary = "2122"
console.log(parseInt(number,3));
//N진수 -> 10진수
let parameter = "~"
parseInt(parameter,N);

10진수는 String 프로토타입 안에 있는 parseInt 메소드를 통해서 변환할 수 있습니다.

 

N진수 -> N진수
//3진수 -> 2진수
console.log(parseInt("21121",3).toString(2));

이렇게 위에서 배운 진수변환들을 조합하여 N진수에서 N진수로 변환하는 것도 가능합니다.

 

진수변환 많이 쓸 일은 없겠지만 가끔씩 쓸일이 있습니다. 알고리즘 풀다보면 가끔씩 나오고 최근에 카카오 문제에서도 진수변환이 필요한 문제가 있었던걸로 알고있습니다.

반응형