본문 바로가기

Coding Tests/코드업

코드업 1028번(unsigned int 사용해보기)

정수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295이다.)

 

값의 표현 범위가 int형이 표현할 수 있는 범위를 넘어섰기 때문에, long long int나

unsigned int(0 이상~ 40억 이하 정도는 표현 가능)를 사용하여 풀어준다.

#include<stdio.h>
int main(void)
{
	long long int A;
	scanf("%lld", &A);
	printf("%lld", A);
	return 0;
}

 

unsigned int는 % u의 서식 문자를 사용한다.  

#include<stdio.h>
int main(void)
{
	unsigned int A;  
	scanf("%u", &A);
	printf("%u", A);
	return 0;
}

<참고>

unsigned 형들의 값의 표현 범위는 음수부터가 아닌 0 이상 특정값 이하이다. 이것은 int만이 아니라 char, short, long형등의 자료형들도 앞에 unsigned가 붙었을 때 원래 음수 값의 표현 범위가 양수로 넘어와 더해져 그만큼 양수에서의 값의 표현 범위가 증가한다는 것이다.

 

ex) int 형의 값의 표현 범위가 -2,147,483,648 이상 +2,147,483,647 이하인데

unsigned int형의 값의 표현 범위는 0 이상 (2,147,483,648 + 2,147,483,647) 이하이다.