stdint.h
C99 표준부터는 stdint.h 헤더 파일이 추가되었습니다.
- stdint의 최소, 최댓값은 stdint.h 헤더 파일 안에 정의되어 있으므로 limits.h 헤더 파일을 사용하지 않아도 됩니다. 자료형과 마찬가지로 최소, 최댓값도 비트 단위로 크기가 표시되어 있으므로 간편하게 사용할 수 있습니다.
#include <stdio.h>
#include <stdint.h> // 크기별로 정수 자료형이 정의된 헤더 파일
int main()
{
int8_t num1 = -128; // 8비트(1바이트) 크기의 부호 있는 정수형 변수 선언
int16_t num2 = 32767; // 16비트(2바이트) 크기의 부호 있는 정수형 변수 선언
int32_t num3 = 2147483647; // 32비트(4바이트) 크기의 부호 있는 정수형 변수 선언
int64_t num4 = 9223372036854775807; // 64비트(8바이트) 크기의 부호 있는 정수형 변수 선언
// int8_t, int16_t, int32_t는 %d로 출력하고 int64_t는 %lld로 출력
printf("%d %d %d %lld\n", num1, num2, num3, num4); // -128 32767 2147483647 9223372036854775807
uint8_t num5 = 255; // 8비트(1바이트) 크기의 부호 없는 정수형 변수 선언
uint16_t num6 = 65535; // 16비트(2바이트) 크기의 부호 없는 정수형 변수 선언
uint32_t num7 = 4294967295; // 32비트(4바이트) 크기의 부호 없는 정수형 변수 선언
uint64_t num8 = 18446744073709551615; // 64비트(8바이트) 크기의 부호 없는 정수형 변수 선언
// uint8_t, uint16_t, uint32_t는 %u로 출력하고 uint64_t는 %llu로 출력
printf("%u %u %u %llu\n", num5, num6, num7, num8); // 255 65535 4294967295 18446744073709551615
return 0;
}
[ 부호 있는 정수(signed) ]
- 최솟값
INT8_MIN , INT16_MIN , INT32_MIN , INT64_MIN - 최댓값
INT8_MAX , INT16_MAX , INT32_MAX , INT64_MAX
[ 부호 없는 정수(unsigned) ]
- 최솟값
0 - 최댓값
UINT8_MAX , UINT16_MAX , UINT32_MAX , UINT64_MAX
반응형
'Reference > C lang - header' 카테고리의 다른 글
[C] float.h (0) | 2022.05.10 |
---|---|
[C] limits.h (0) | 2022.05.09 |