728x90
정수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.)
#include <stdio.h>
int main(){
unsigned int n;
scanf("%u", &n);
printf("%u", n);
}
int는 32비트(8바이트)의 크기를 가지게 된다.
int의 첫 비트에는 값이 +인지 -인지를 나타내는 부호 비트가 있다.
따라서 부호를 제외하고 사용할 수 있는 비트는 31개이므로
표현할 수 있는 값은 -2^31 ~ +2^31 -1 이다. (-2,147,483,648 ~ 2,147,483,647)
이때 int 앞에 unsigned를 붙이면 부호 비트를 사용하지 않으므로
0 ~ 2^32 -1 (0~4,294,967,295) 의 값을 나타낼 수 있다.
%u는 부호가 없는 10진수의 형식 지정자이다.
다른 방법으로는 int 보다 크기가 큰 long long int(64비트)를 사용하는 방법이다.
#include<stdio.h>
int main()
{
long long int n;
scanf("%lld", &n);
printf("%lld", n);
return 0;
}
728x90
'코딩 > CodeUp' 카테고리의 다른 글
코드업 1030 : [기초-데이터형] 정수 1개 입력받아 그대로 출력하기3 (0) | 2023.06.13 |
---|---|
코드업 1029 : [기초-데이터형] 실수 1개 입력받아 그대로 출력하기2 (0) | 2023.06.13 |
코드업 1027 : [기초-입출력] 년월일 입력 받아 형식 바꿔 출력하기 (0) | 2023.06.04 |
코드업 1026 : [기초-입출력] 시분초 입력받아 분만 출력하기 (0) | 2023.06.03 |
코드업 1025 : [기초-입출력] 정수 1개 입력받아 나누어 출력하기 (0) | 2023.06.03 |