진수를 변환하는 알고리즘을 사용하면 간단하게 풀리는 문제들이 있습니다.

그래서 진수 변환하는 방법을 정리해보도록 하죠

 

1. 10진수 -> 2진수 변환

public void DecimalTobinary(int num) {
		StringBuffer sb = new StringBuffer(); // 거꾸로 출력하기 위한 버퍼 생성
		String answer="";
		while(num>0) {
			answer += num%2;
			num = num/2;
		}
		sb.append(answer); // 버퍼에 answer 저장하고
		System.out.println(sb.reverse()); // 거꾸로 출력하기
	}

 

2. 10진수 -> 8진수 변환

public void DecimalToOctal(int num) {
		StringBuffer sb = new StringBuffer();
		String answer="";
		while(num>0) {
			answer += num%8;  //8로 나눈 나머지 저장
			num = num/8; // 8 나누기
		}
		sb.append(answer);
		System.out.println(sb.reverse());
	}

이제 특징이 보이나여??
10진수 -> N진수로 변환하고 싶으면 원하는 숫자를 0이 될때까지 N으로 나눈 나머지를 출력하면 된다는 것!
(단, N은 1< N < 10을 만족하는 정수)

 

// 2 -> 10
// 8 -> 10
// 16 -> 10 , 10 -> 16 등등 모두 정리하기

3. 

'알고리즘 공부 > 코딩테스트 준비' 카테고리의 다른 글

DFS/BFS 탐색 알고리즘 (행렬 구현)  (0) 2019.06.03
피보나치 수열  (0) 2019.05.20
행렬의 회전  (0) 2019.05.20

+ Recent posts