자바스크립트에서 10진수를 16진수로 변환하는 것은 생각보다 간단합니다. Number 객체의 toString() 메서드를 활용하면 진법(base)을 인자로 전달하여 원하는 진수의 문자열로 손쉽게 변환할 수 있습니다.
toString() 메서드로 16진수 변환하기
toString 메서드는 진법(base)을 인자로 받습니다. 여기에 16을 전달하면 해당 숫자가 16진수 문자열로 변환됩니다.
예제 코드
console.log(Number(255).toString(16))
console.log(Number(17).toString(16))
실행 결과
ff
11
위 예제에서 볼 수 있듯이, 255는 'ff'로, 17은 '11'로 변환되었습니다. 이처럼 toString(16)만 호출하면 별도의 라이브러리 없이 즉시 16진수 표현을 얻을 수 있습니다.
parseInt() 함수로 다시 10진수 변환하기
반대로 16진수 문자열을 다시 10진수 숫자로 되돌리고 싶다면 parseInt() 함수를 사용하면 됩니다. 자바스크립트에서 제공하는 parseInt 함수는 다음과 같은 시그니처를 가집니다.
parseInt(string, radix);
매개변수 설명
string — 파싱할 값입니다. 이 인자가 문자열이 아니면 ToString 메서드를 통해 문자열로 변환되며, 앞부분의 공백(선행 공백)은 무시됩니다.
radix — 문자열의 진수(radix)를 나타내는 2부터 36 사이의 정수입니다. 진수란 수학적 기수법에서 사용하는 밑(base)을 의미합니다.
따라서 문자열과 진수 값을 함께 전달하면, 이 메서드를 통해 2진수부터 36진수까지 어떤 진법의 숫자든 정수로 변환할 수 있습니다.
예제 코드
console.log(parseInt("ff", 16))
console.log(parseInt("11", 16))실행 결과
255
17
정리
자바스크립트에서 진수 변환은 두 가지 핵심 메서드로 처리할 수 있습니다.
10진수 → 16진수: Number 객체의 toString(16) 메서드를 사용합니다.
16진수 → 10진수: parseInt(문자열, 16) 함수를 사용합니다.
이 두 가지 방법만 익혀두면 2진수, 8진수, 16진수 등 다양한 진법 간의 변환을 자유롭게 다룰 수 있습니다. 특히 색상 코드(#ff0000)나 메모리 주소처럼 16진수가 자주 사용되는 영역에서 유용하게 활용됩니다.