C언어 C++ Programming

[C언어/C++] 고정형 정수형이란? 예제 코드로 쉽게 이해하기(int8_t, int16_t, int32_t, int64_t)

끄적끄적아무거나 2023. 8. 1. 08:19
반응형

 

목차

     

     

     

     

    [C언어/C++] 고정형 정수형이란? 

     

    고정 너비 정수형은 C++11부터 지원되는 정수형 타입으로, 정확한 비트 크기를 가지는 타입입니다. 이러한 타입은 특정 크기의 정수 값을 보장하기 위해 사용됩니다. 이전에 설명한 int, short, long, long long과는 달리, 고정 너비 정수형은 특정 비트 수를 명시하여 사용합니다.

     

    한마디로 아두이노나 다른 기기에서 사용하는데 컴퓨터에서의 int 크기와 아두이노(Arduino)와 같은 장치에서의 int 크기가 달라서 사이즈를 잘못판단해서 에러가 발생하는 것을 막아 줍니다.

     

    고정 너비 정수형은 다음과 같이 표현됩니다:

     

    1. intN_t: N비트 크기의 부호 있는 정수형입니다. 예를 들어, int8_t, int16_t, int32_t, int64_t와 같이 사용합니다.

    2. uintN_t: N비트 크기의 부호 없는 정수형입니다. 예를 들어, uint8_t, uint16_t, uint32_t, uint64_t와 같이 사용합니다.

    고정 너비 정수형은 특정 크기의 정수 값을 보장하기 때문에 크로스 플랫폼에서 특정 크기의 데이터를 다룰 때 편리합니다. 예를 들어, 네트워크 통신이나 바이너리 파일 I/O 등의 상황에서 데이터 크기가 일정해야 할 경우 유용합니다.

     

    고정 너비 정수형을 사용하기 위해서는 <cstdint> 헤더를 포함해야 합니다.

     

     

     

     

     

    [C언어/C++] 고정형 정수형 예제 코드

     

    예제 코드>>

    #include <iostream>
    #include <cstdint>
    
    int main() {
        std::int8_t myInt8;   // 8비트 부호 있는 정수형
        std::uint16_t myUInt16; // 16비트 부호 없는 정수형
    
        myInt8 = 65;
        myUInt16 = 65535;
    
        std::cout << "myInt8: " << static_cast<int>(myInt8) << std::endl;
        std::cout << "myInt8: " << myInt8 << std::endl;
        std::cout << "myUInt16: " << myUInt16 << std::endl;
    
        return 0;
    }

     

     

     

     

    주석>>

    고정형 정수 타입을 사용하기 위해 cstdint 헤더를 포함합니다.

    int8_t은 char로 인식하기 때문에 static_cast를 사용해서 출력 시 int로 변환해줍니다.

     

     

     

    결과>>

     

     

     

    코드 다운로드>>

    main.cpp
    0.00MB

     

     

    반응형