# 1106 : int의 범위
입력 :
출력 : int형의 가장 작은수a와 int형의 가장 큰수b를 차례대로 공백으로 분리하여 출력
#include <stdio.h>
int main()
{
printf("%d %d", 0x80000000, 0x7fffffff);
return 0;
}
풀이
32비트이므로, 2진수로 나타낼 수 있습니다. (비트는 0 또는 1의 값을 가집니다. 따라서 0 또는 1의 값을 가지는 2진수의 가장 기본적인 단위가 비트입니다.)
32비트를 2진수로 나타내면,
- 가장 작은 수는 10000000 00000000 00000000 00000000
- 가장 큰 수는 01111111 11111111 11111111 11111111
이라고 합니다. 그렇다면 이를 16진수로 나타내기 위해 2진수를 16진수로 바꾸어 보겠습니다.
2진수를 16진수로 바꾸려면 2진수를 4자리씩 묶고 10진수로 변환한 뒤 그 10진수를 16진수로 바꿔주면 됩니다.
- 4자리씩 분리 : 10000000 ➡️ 1000 0000
- 1000 0000 ➡️ 8 0 (10진수) ➡️ 0x80 (16진수) (16진수는 앞에 0x를 붙여 표현합니다.)
- 4자리씩 분리 : 11111111 ➡️ 1111 1111
- 1111 1111 ➡️ 15 15 (10진수) ➡️ 0xff (16진수)
이렇게 계산하여 가장 작은 수와 가장 큰 수를 16진수로 나타내면
- 가장 작은 수 : 0x80000000
- 가장 큰 수 : 0x7fffffff
가 됩니다. 이를 정수로 출력하면 int형의 범위를 구할 수 있습니다.
-2147483648 2147483647
코드에 대한 피드백은 언제든지 환영입니다!

'Coding > C언어 - Codeup' 카테고리의 다른 글
[코드업/Codeup][C언어] 1109 : 보안카드 접수증 문제풀이 (0) | 2024.08.31 |
---|---|
[코드업/Codeup][C언어] 1107 ~ 1108 반복 출력 문제 풀이 (0) | 2024.08.31 |
[코드업/Codeup] C언어 : 1101 ~ 1103 풀이 (0) | 2024.08.30 |
[코드업/Codeup] C언어 : 1099 성실한 개미 문제 접근법 및 풀이 [기초-2차원배열] (0) | 2024.08.29 |
[코드업/Codeup] C언어 : 1096~1098 풀이 [기초-2차원배열] (0) | 2024.08.29 |