C언어 C++ Programming

[C언어/C++] 정수형 타입 종류, 크기, 범위, 예제 코드로 확인(sizeof, numeric_limits)

끄적끄적아무거나 2023. 7. 31. 08:24
반응형

 

목차

     

     

     

     

     

    [C언어/C++] 정수형 타입 종류 및 크기

     

    정수형 타입은 소수점 없이 정수 값을 나타내는 데 사용되며, 각각은 저장할 수 있는 값의 범위와 메모리 크기가 다릅니다. 아래에 가장 일반적으로 사용되는 정수형 타입들을 간단히 설명해드리겠습니다.

     

    1. int: 가장 일반적인 정수형 타입으로, 기본적으로 시스템 아키텍처에 따라 4바이트(32비트) 또는 8바이트(64비트) 크기를 가집니다. 일반적으로 대부분의 정수 값들을 표현하는 데에 사용됩니다.

     

    2. short: 정수형의 작은 범위를 표현하기 위해 사용되는 타입으로, 보통 2바이트(16비트) 크기를 가집니다. 더 작은 정수 범위를 다루고자 할 때 유용합니다.

     

    3. long: int와 비슷하지만, int보다 큰 범위를 표현할 수 있습니다. 보통 4바이트(32비트) 또는 8바이트(64비트) 크기를 가집니다. int의 범위를 넘어서는 정수 값을 다루어야 할 때 사용됩니다.

     

    4. long long: 더 큰 범위의 정수 값을 표현하기 위해 도입된 타입으로, 최소 8바이트(64비트) 크기를 가지며, 매우 큰 정수 값을 저장할 수 있습니다.

     

    unsigned: 양수만을 저장하는 타입으로, 일반적으로 음수를 저장할 필요가 없는 경우 사용됩니다. 예를 들어, unsigned int, unsigned short 등이 있습니다. unsigned 타입은 음수를 저장하지 않으므로 표현 범위가 양수로 확장됩니다.

     

     

    이상이 가장 일반적으로 사용되는 C++ 정수형 타입들에 대한 간단한 설명입니다. 각 타입은 자신만의 용도와 범위가 있으므로, 사용 시 목적과 필요에 따라 적절한 타입을 선택하는 것이 중요합니다.

     

     

    앞서 설명한 내용과 같이 OS에 따라 정수형 타입의 크기가 바뀌므로 코드에서 확인해보는 작업들이 필요합니다.

     

     

     

     

     

    예제 코드로 확인(sizeof, numeric_limits)

     

    예제 코드>>

    #include <iostream>
    #include <limits>
    
    int main() {
        std::cout << "Sizeof Information:" << std::endl;
        std::cout << "Size of int: " << sizeof(int) << " bytes" << std::endl;
        std::cout << "Size of short: " << sizeof(short) << " bytes" << std::endl;
        std::cout << "Size of long: " << sizeof(long) << " bytes" << std::endl;
        std::cout << "Size of long long: " << sizeof(long long) << " bytes" << std::endl;
        std::cout << "Size of unsigned int: " << sizeof(unsigned int) << " bytes" << std::endl;
        std::cout << "Size of unsigned short: " << sizeof(unsigned short) << " bytes" << std::endl;
    
        std::cout << "\nMinimum and Maximum Values:" << std::endl;
        std::cout << "int min: " << std::numeric_limits<int>::min() << std::endl;
        std::cout << "int max: " << std::numeric_limits<int>::max() << std::endl;
        std::cout << "short min: " << std::numeric_limits<short>::min() << std::endl;
        std::cout << "short max: " << std::numeric_limits<short>::max() << std::endl;
        std::cout << "long min: " << std::numeric_limits<long>::min() << std::endl;
        std::cout << "long max: " << std::numeric_limits<long>::max() << std::endl;
        std::cout << "long long min: " << std::numeric_limits<long long>::min() << std::endl;
        std::cout << "long long max: " << std::numeric_limits<long long>::max() << std::endl;
        std::cout << "unsigned int min: " << std::numeric_limits<unsigned int>::min() << std::endl;
        std::cout << "unsigned int max: " << std::numeric_limits<unsigned int>::max() << std::endl;
        std::cout << "unsigned short min: " << std::numeric_limits<unsigned short>::min() << std::endl;
        std::cout << "unsigned short max: " << std::numeric_limits<unsigned short>::max() << std::endl;
    
        return 0;
    }

     

     

     

    결과>>

    위와 같이 sizeof와 numeric_limits을 사용해서 크기(Size) 및 범위(Range)를 확인할 수 있습니다.

     

     

     

    예제 코드 다운 로드>>

     

    main.cpp
    0.00MB

     

     

     

    반응형