자바스크립트에서 진수를 변환하는 방법은??
parseInt(string, radix)
parserInt의 첫 번째 인자는 파싱할 값이다. 문자열이 아닌 경우에는 문자열로 변환한 후에 그 값을 정수나 NaN으로 반환한다.
두 번째 인자는 첫 번째 인자의 진법을 나타낸다. radix가 2인 경우에는 첫 번째 인자를 2진수로 해석한 후에 10진수로 변환한다. 두 번째 인자를 지정하지 않으면 기본적으로 10진법으로 이해한다.
let binaryString = '1001'; // 2진법으로 표현된 문자열
parseInt(binaryString , 2) // 10진법으로 변환됨. 값은 9
let hexString = "A"; // 16진법으로 표현된 문자열
let decimalFromHex = parseInt(hexString, 16); // 10진법으로 변환됨. 값은 10
Number.toString(radix)
toString은 숫자를 문자열로 변환할 때 사용하는 메서드이다. 이를 활용하면 숫자를 특정 진법의 문자열로 변환할 수 있다. 인자에 원하는 진법를 입력하면 10진수에서 해당 진법으로 변환한 값을 문자열로 반환한다.
let decimalNumber = 15; // 10진수의 숫자
let binaryString = decimalNumber.toString(2); // 2진수로 변환된 문자열, 값은 '1111'
console.log(typeof binaryString); // string
parseInt와 toString을 조합하여 n진수에서 n진수로도 변환할 수 있다.
// 2진수에서 16진수로 ( 순서 : 2진수 -> 10진수 -> 16진수 )
let binary1 = '110010';
let hex1 = parseInt(binary1,2).toString(16); // 2진수 : 110010 -> 10진수 : 50 -> 16진수 : '32'
// 16진수에서 2진수로 ( 순서 : 16진수 -> 10진수 -> 2진수)
let hex2 = 'e';
let binary2 = parseInt(hex2,16).toString(2); // 16진수 : e -> 10진수 : 14 -> 2진수 : '1110'
: 진수 변환 까짓거 별거 아니네!! 😁