본문 바로가기

알고리즘/JAVA 코드업 100제

1028 : [기초-데이터형] 정수 1개 입력받아 그대로 출력하기2

728x90
입력
2147483648
출력
2147483648

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner in = new Scanner(System.in);
		String str;
		str = in.next();

		int num = Integer.parseUnsignedInt(str);
		String numString = Integer.toUnsignedString(num);
		System.out.println(numString);
	}

}

int형 변수는 -2147483648 ~ +2147483647 범위의 정수를 저장하고 처리할 수 있다.

 

c언어의 경우 이 범위를 넘어가는 정수를 저장하기 위해 unsigned int 데이터형을 사용하여 0 ~ 4294967295 범위의 정수를 저장할 수 있지만 자바에는 unsigned int 가 없다.

 

따라서 JAVA에서는 Integer 클래스의 메소드를 활용하여 수를 출력한다.

이때, int 데이터형을 사용하면 오버플로우가 발생하여 - 값이 출력되기 때문에 String형으로 바꿔서 출력한다.

 

 

반응형