• 티스토리 홈
  • 프로필사진
    유니얼
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
유니얼
  • 프로필사진
    유니얼
    • 분류 전체보기 (295)
      • Unity (17)
        • 게임 개발 (5)
      • Unreal (24)
        • 게임 개발 (20)
      • DirectX (36)
      • 코딩테스트 (91)
        • 프로그래머스 (25)
        • 백준 (66)
      • Google Workspace (1)
      • Programing (102)
        • C# (68)
        • C++ (24)
        • JavaScript (10)
      • 게임 서버 프로그래밍 (17)
      • Web (6)
        • 슈퍼코딩 (6)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
    등록된 댓글이 없습니다.
  • 최근 공지
    등록된 공지가 없습니다.
# Home
# 공지사항
#
# 태그
# 검색결과
# 방명록
  • [C++ 프로그래밍] 정수형 데이터와 Modifiers
    2024년 06월 21일
    • 유니얼
    • 작성자
    • 2024.06.21.:15
    728x90

    C++ 기초 프로그래밍: 정수형 데이터와 Modifiers

    C++ 프로그래밍에서 정수형 데이터 타입은 매우 중요한 역할을 합니다. 다양한 크기와 특성을 가진 정수형 타입을 사용하여 프로그램의 메모리 사용을 최적화하고, 특정 요구사항에 맞는 정확한 데이터 처리를 할 수 있습니다. 이번 블로그 글에서는 C++에서 정수형 데이터 타입과 이들을 수정하는 데 사용되는 Integer Modifiers에 대해 알아보겠습니다.

    정수형 데이터 타입

    C++에서 정수형 데이터 타입은 기본적으로 int 타입을 포함하여, 크기와 부호(sign)에 따라 다양한 타입을 제공합니다. 각 타입은 특정한 크기와 범위를 가지며, 이를 통해 다양한 데이터 처리 요구를 충족시킬 수 있습니다.

    기본 정수형 타입

    1. int: 기본 정수형 타입으로, 대부분의 컴파일러에서 4바이트를 차지합니다.
    2. short: 짧은 정수형 타입으로, 일반적으로 2바이트를 차지합니다.
    3. long: 긴 정수형 타입으로, 4바이트 또는 8바이트를 차지할 수 있습니다.
    4. long long: 더 긴 정수형 타입으로, 일반적으로 8바이트를 차지합니다.

    부호가 있는 정수형 타입과 부호가 없는 정수형 타입

    정수형 타입은 부호가 있는(signed) 타입과 부호가 없는(unsigned) 타입으로 나뉩니다.

    • signed: 기본 정수형 타입으로, 양수와 음수를 모두 표현할 수 있습니다.
    • unsigned: 부호가 없는 정수형 타입으로, 양수만을 표현할 수 있습니다. 이는 양수의 범위를 두 배로 확장할 수 있습니다.

    예제 코드

    다음은 다양한 정수형 데이터 타입과 그 크기를 출력하는 C++ 예제 코드입니다.

    #include <iostream>
    
    int main()
    {
        signed int value1{10};
        signed int value2{-300};
        std::cout << std::endl;
        std::cout << "value1 : " << value1 << std::endl;
        std::cout << "value2 : " << value2 << std::endl;
        std::cout << "sizeof(value1) : " << sizeof(value1) << std::endl;
        std::cout << "sizeof(value2) : " << sizeof(value2) << std::endl;
    
        unsigned int value3{4};
        // unsigned int value4{-5}; // Compiler error.
    
        // short and long
        short short_var{-32768};                 //  2 Bytes
        short int short_int{455};                //
        signed short signed_short{122};          //
        signed short int signed_short_int{-456}; //
        unsigned short int unsigned_short_int{456};
    
        int int_var{55};           // 4 bytes
        signed signed_var{66};     //
        signed int signed_int{77}; //
        unsigned int unsigned_int{77};
    
        long long_var{88}; // 4 OR 8 Bytes
        long int long_int{33};
        signed long signed_long{44};
        signed long int signed_long_int{44};
        unsigned long int unsigned_long_int{44};
    
        long long long_long{888}; // 8 Bytes
        long long int long_long_int{999};
        signed long long signed_long_long{444};
        signed long long int signed_long_long_int{1234};
        unsigned long long int unsigned_long_long_int{1234};
    
        std::cout << std::endl;
        std::cout << "---------------------" << std::endl;
        std::cout << std::endl;
    
        std::cout << "Short variable : " << short_var << " , size : "
                  << sizeof(short) << " bytes" << std::endl;
    
        std::cout << "Short Int : " << short_int << " , size : "
                  << sizeof(short int) << " bytes" << std::endl;
    
        std::cout << "Signed short : " << signed_short
                  << " , size : " << sizeof(signed short) << " bytes" << std::endl;
    
        std::cout << "Signed short int :  " << signed_short_int
                  << " , size : " << sizeof(signed short int) << " bytes" << std::endl;
    
        std::cout << "unsigned short int :  " << unsigned_short_int
                  << " , size : " << sizeof(unsigned short int) << " bytes" << std::endl;
    
        std::cout << std::endl;
        std::cout << "---------------------" << std::endl;
        std::cout << std::endl;
    
        std::cout << "Int variable :  " << int_var << " , size : "
                  << sizeof(int) << " bytes" << std::endl;
    
        std::cout << "Signed variable " << signed_var << " , size : "
                  << sizeof(signed) << " bytes" << std::endl;
    
        std::cout << "Signed int :  " << signed_int << " , size : "
                  << sizeof(signed int) << " bytes" << std::endl;
    
        std::cout << "unsigned int :  " << unsigned_int << " , size : "
                  << sizeof(unsigned int) << " bytes" << std::endl;
    
        std::cout << std::endl;
        std::cout << "---------------------" << std::endl;
        std::cout << std::endl;
    
        std::cout << "Long variable :  " << long_var << " , size : "
                  << sizeof(long) << " bytes" << std::endl;
    
        std::cout << "Long int :  " << long_int << " , size : "
                  << sizeof(long int) << " bytes" << std::endl;
    
        std::cout << "Signed long :  " << signed_long << " , size : "
                  << sizeof(signed long) << " bytes" << std::endl;
    
        std::cout << "Signed long int : " << signed_long_int << " , size : "
                  << sizeof(signed long int) << " bytes" << std::endl;
    
        std::cout << "unsigned long int : " << unsigned_long_int << " , size : "
                  << sizeof(unsigned long int) << " bytes" << std::endl;
    
        std::cout << std::endl;
        std::cout << "---------------------" << std::endl;
        std::cout << std::endl;
    
        std::cout << "Long long : " << long_long << " , size : "
                  << sizeof(long long) << " bytes" << std::endl;
    
        std::cout << "Long long int : " << long_long_int << " , size : "
                  << sizeof(long long int) << " bytes" << std::endl;
    
        std::cout << "Signed long long : " << signed_long_long << " , size : "
                  << sizeof(signed long long) << " bytes" << std::endl;
    
        std::cout << "Signed long long int : " << signed_long_long_int << " , size : "
                  << sizeof(signed long long int) << " bytes" << std::endl;
    
        std::cout << "unsigned long long int : " << unsigned_long_long_int << " , size : "
                  << sizeof(unsigned long long int) << " bytes" << std::endl;
    
        std::cout << std::endl;
        std::cout << "---------------------" << std::endl;
    
        return 0;
    
        // value1 : 10
        // value2 : -300
        // sizeof(value1) : 4
        // sizeof(value2) : 4
    
        // ---------------------
    
        // Short variable : -32768 , size : 2 bytes
        // Short Int : 455 , size : 2 bytes
        // Signed short : 122 , size : 2 bytes
        // Signed short int :  -456 , size : 2 bytes
        // unsigned short int :  456 , size : 2 bytes
    
        // ---------------------
    
        // Int variable :  55 , size : 4 bytes
        // Signed variable 66 , size : 4 bytes
        // Signed int :  77 , size : 4 bytes
        // unsigned int :  77 , size : 4 bytes
    
        // ---------------------
    
        // Long variable :  88 , size : 8 bytes
        // Long int :  33 , size : 8 bytes
        // Signed long :  44 , size : 8 bytes
        // Signed long int : 44 , size : 8 bytes
        // unsigned long int : 44 , size : 8 bytes
    
        // ---------------------
    
        // Long long : 888 , size : 8 bytes
        // Long long int : 999 , size : 8 bytes
        // Signed long long : 444 , size : 8 bytes
        // Signed long long int : 1234 , size : 8 bytes
        // unsigned long long int : 1234 , size : 8 bytes
    
        // ---------------------
    }

    결론

    C++에서 정수형 데이터를 초기화하는 방법과 다양한 정수형 데이터 타입의 크기를 이해하는 것은 매우 중요합니다. 적절한 데이터 타입을 선택함으로써 메모리 사용을 최적화하고, 데이터 처리의 정확성을 높일 수 있습니다.

    반응형
    다음글
    다음 글이 없습니다.
    이전글
    이전 글이 없습니다.
    댓글
조회된 결과가 없습니다.
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
목차
표시할 목차가 없습니다.
    • 안녕하세요
    • 감사해요
    • 잘있어요

    티스토리툴바