본문 바로가기

코드업(CodeUp)/기초 100제

[코드업/자바] 기초 100제 - 8진 정수 1개 입력받아 10진수로 출력하기

1034 : [기초-출력변환] 8진 정수 1개 입력받아 10진수로 출력하기

1. 8진수로 입력된 정수 1개를 10진수로 바꾸어 출력해보자.

참고
%o로 입력받으면 8진수로 인식시켜 저장시킬 수 있다.
%d로 출력하면 10진수로 출력된다.

예시
int n;
scanf("%o", &n);
printf("%d", n);
(C언어에서 소스 코드 작성 시 0으로 시작하는 수는 8진수로 인식된다. int a = 013; // 10진수 11과 같은 값)

 

2. 8진 정수 1개가 입력된다.

 

3. 10진수로 바꾸어 출력한다.

ex)

입력 : 13

출력 : 11


자바에는 8진수를 받는 방법이 없어서 일단 String으로 받아준다. 그리고 그것을 Integer 클래스를 이용하여 8진수를 10진수로 바꿔준다.

import java.util.*;

public class Exercise {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		int num = Integer.valueOf(str, 8);
		
		System.out.println(num);
	}
}
	

Integer.valueOf(str, 2); > 2진수(str)를 10진수로 변환

Integer.valueOf(str, 8); > 8진수(str)를 10진수로 변환

Integer.valueOf(str, 16); > 16진수(str)를 10진수로 변환

 

Integer.toBinaryString(int) > 10진수를 2진수로 변환

Integer.toOctalString(int) > 10진수를 8진수로 변환

Integer.toHexString(int ) > 10진수를 16진수로 변환

728x90
반응형