[JS] 진수 변환
[JS] 진수 변환
진수 변환은 간단한 메서드지만 모르면 풀지 못해서 몇번 곤란했던 적이 있었습니다.
이러한 실수를 막기 위해 정리해보았습니다 :)
자바스크립트 진수 변환
🔹 10진수 ➜ 2진수 ( 3, 4, 5…N 진수)
💡 toString(base)
: 숫자를 다른 진수 문자열로 변환
1
2
3
4
5
6
7
8
9
var dec = 123;
var bin = dec.toString(2); // "1111011"
//10진수 -> 3진수
console.log(dec.toString(3));
//10진수 -> 16진수
var dec = 123;
var hex = dec.toString(16); // "7b"
🔹 2진수( 3, 4, 5…N 진수) ➜ 10진수
💡 parseInt(string, base)
: 문자열을 지정한 진수로 변환
1
2
3
4
5
6
7
8
9
10
var bin = "1111011";
var dec = parseInt(bin, 2); // 123
//3진수 -> 10진수
let trinary = "2122"
console.log(parseInt(number, 3));
//16진수 -> 10진수
var hex = "7b";
var dec = parseInt(hex, 16); // 123
🔹 N진수 -> N진수
1
2
3
4
5
6
7
8
9
10
//3진수 -> 2진수
console.log(parseInt("21121",3).toString(2));
//16진수 ➜ 2진수 (16진수 → 10진수 → 2진수)
var hex = "7b";
var bin = parseInt(hex, 16).toString(2); // "1111011"
//2진수 ➜ 16진수 (2진수 → 10진수 → 16진수)
var bin = "1111011";
var hex = parseInt(bin, 2).toString(16); // "7b"
알고리즘 풀이 - 프로그래머스 Lv.2 - [3차] n진수 게임
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function solution(n, t, m, p) {
var answer = '';
let cnt = 0;
let idx = p;
let allStr = "";
while (cnt <= m * t) {
allStr += cnt.toString(n).toUpperCase();
cnt++;
if(allStr.length > m * t) break;
}
for(let i = 0 ; i < t ; i++) {
answer += allStr[idx-1];
idx += m;
}
return answer;
}
END
This post is licensed under CC BY 4.0 by the author.