[Javascript] 진수 변환하기

문정민·2023년 8월 6일

Javascript

목록 보기
1/6

자바스크립트에서 진수를 변환하는 방법은??

parseInt() : n진수에서 10진수로

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

toString() : 10진수에서 n진수로

Number.toString(radix)

toString은 숫자를 문자열로 변환할 때 사용하는 메서드이다. 이를 활용하면 숫자를 특정 진법의 문자열로 변환할 수 있다. 인자에 원하는 진법를 입력하면 10진수에서 해당 진법으로 변환한 값을 문자열로 반환한다.

let decimalNumber = 15; // 10진수의 숫자
let binaryString = decimalNumber.toString(2);  // 2진수로 변환된 문자열, 값은 '1111'

console.log(typeof binaryString); // string

n진수에서 n진수로도 변환할 수 있을까?

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'

오늘의 교훈

: 진수 변환 까짓거 별거 아니네!! 😁

0개의 댓글