개발/JAVA

[진법 변환] 2진수 <-> 8진수 변환

Eun 2022. 1. 3. 16:40

2진수 -> 8진수 변환

 

1. 2진수를 뒤에서 부터 3자리로 끊어준다. (세자리로 나누어지지않으면 0로 채워준다.)

11101 -> 011/101

 

2. 나눈 세자리를 10진수로 변환해준다.

011 -> 3

101 -> 5

 

3. 숫자를 연이어 써준다.

011101 -> 35(8)

 

8진수 -> 2진수 변환

8진수를 2진수로 변환하는 법은

앞서 말한 방법과 반대로 연이어 써준 숫자를 3자리씩 나눠 2진수로 변환해주면 된다.

 

1. 8진수를 각 자리씩 분리해준다.

35(8) -> 3 5

 

2. 각 자리를 2진수로 변환한다.

3=011

5=101

 

3. 변환해준 수를 연이어 써준다.

35 = 011101(2) 

 

 

진법 변환에 관한 백준 문제 풀이

.

.

.

 

https://www.acmicpc.net/problem/1373

 

1373번: 2진수 8진수

첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.

www.acmicpc.net

https://www.acmicpc.net/problem/1212

 

1212번: 8진수 2진수

첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.

www.acmicpc.net