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 | 
