1035 : [기초-출력변환] 16진 정수 1개 입력받아 8진수로 출력하기(설명)
1. 16진수로 입력된 정수 1개를 8진수로 바꾸어 출력해보자.
참고
%x(영문자 소문자) 나 %X(영문자 대문자)로 입력 받으면
16진수로 인식시켜 저장시킬 수 있다. %o로 출력하면 8진수로 출력된다.
C언어에서 소스 코드 작성시 0으로 시작하는 수는 8진수로 인식된다.
또한 소스코드 내에서 //로 시작하면 1줄 설명을 넣을 수 있다.
여러 줄을 설명(주석) 을 넣을 경우 /* 와 */ 사이에 작성하면 된다.
예시
int n;
scanf("%x", &n); //소문자로 16진수 입력
printf("%o", n);
2. 16진 정수 1개가 입력된다.
(단, 16진수는 영문 소문자로 입력된다.)
3. 8진수로 바꾸어 출력한다.
ex)
입력 : f
출력 : 17
저번 시간에 이어서 10진수를 다른 진수 숫자로 바꾸는 걸 알아야한다.
자바에서는 다른 진수로 받는 방법이 없으므로 String 타입으로 받아서 변환해준다.
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, 16);
System.out.printf("%o", num);
}
}
받아준 String을 Integer클래스에 valueOf() 메소드를 이용하여 16진수로 바꿔준다.
그리고 printf()를 이용하여 8진수를 출력한다.
728x90
반응형
'코드업(CodeUp) > 기초 100제' 카테고리의 다른 글
[코드업/자바] 기초 100제 - 정수 입력받아 아스키 문자로 출력하기 (0) | 2020.07.23 |
---|---|
[코드업/자바] 기초 100제 - 영문자 1개 입력받아 10진수로 출력하기 (0) | 2020.07.23 |
[코드업/자바] 기초 100제 - 8진 정수 1개 입력받아 10진수로 출력하기 (0) | 2020.07.22 |
[코드업/자바] 기초 100제 - 10진 정수 입력받아 16진수로 출력하기1 (0) | 2020.07.22 |
[코드업/자바] 기초 100제 - 10진 정수 1개 입력받아 8진수로 출력하기 (0) | 2020.07.22 |