7.7 연습문제: 정수형 변수 선언과 오버플로우
#include <stdio.h>
int main(void)
{
unsigned char num1 = 256;
unsigned short num2 = 65536;
long long num3 = 9223372036854775808;
printf("%u %u %lld\n", num1, num2, num3);
return 0;
}
7.8 연습문제: 자료형 크기 구하기
#include <stdio.h>
int main(void)
{
short num1;
long long num2;
printf("%zd\n", sizeof(num1) + sizeof(num2) + sizeof(int));
return 0;
}
7.9 연습문제: 최댓값 표현하기
#include <stdio.h>
#include <limits.h>
int main(void)
{
char num1 = CHAR_MAX;
short num2 = SHRT_MAX;
int num3 = INT_MAX;
long num4 = LONG_MAX;
long long num5 = LLONG_MAX;
printf("%d %d %d %ld %lld\n", num1, num2, num3, num4, num5);
return 0;
}
7.10 연습문제: 크기가 표시된 정수 자료형 사용하기
#include <stdio.h>
#include <stdint.h>
int main(void)
{
int8_t num1 = INT8_MIN;
uint16_t num2 = UINT16_MAX;
int32_t num3 = INT32_MAX;
uint64_t num4 = UINT64_MAX;
printf("%d %u %d %llu\n", num1, num2, num3, num4);
return 0;
}
7.11 심사문제: 정수형 변수 선언과 오버플로우
#include <stdio.h>
int main(void)
{
unsigned short num1;
unsigned int num2;
char num3;
num1 = 65536;
num2 = 4294967296;
num3 = 128;
printf("%u %u %d\n", num1, num2, num3);
return 0;
}
7.12 심사문제: 자료형 크기 구하기
#include <stdio.h>
int main(void)
{
char num1;
short num2;
printf("%zd\n", sizeof(num1) + sizeof(num2) + sizeof(long long));
return 0;
}
7.13 심사문제: 최솟값 표현하기
#include <stdio.h>
#include <limits.h>
int main(void)
{
char num1 = CHAR_MIN;
unsigned short num2 = 0;
int num3 = INT_MIN;
unsigned long num4 = 0;
long long num5 = LLONG_MIN;
printf("%d %u %d %lu %lld\n", num1, num2, num3, num4, num5);
return 0;
}
7.14 심사문제: 크기가 표시된 정수 자료형 사용하기
#include <stdio.h>
#include <stdint.h>
int main(void)
{
int8_t num1 = INT8_MIN;
uint16_t num2 = UINT16_MAX;
uint32_t num3 = 0;
int64_t num4 = INT64_MAX;
printf("%d %u %u %lld\n", num1, num2, num3, num4);
return 0;
}