Application/기초

[기초] C++ 데이터 타입 : 크기와 종류

devsalix 2024. 3. 11. 10:23
반응형

C++ 프로그래밍을 하다 보면 다양한 데이터 타입을 다뤄야 합니다.
이러한 데이터 타입은 변수에 할당할 수 있는 값의 종류를 결정하며, 각각의 크기와 특성을 가지고 있습니다.
이번 포스팅에서는 C++에서 사용되는 주요 데이터 타입의 종류와 크기에 대해 알아보겠습니다.


  1. 정수형 (Integer Types)
    - char : 1바이트, -128부터 127 또는 0부터 255까지의 값을 나타냅니다.
    - short : 2바이트, -32,768부터 32,767까지의 값을 나타냅니다.
    - int : 대개 4바이트(32비트 아키텍처) 또는 8바이트(64비트 아키텍처)
             -2,147,483,648부터 2,147,483,647까지의 값을 나타냅니다.
    - long : 4바이트(32비트 아키텍처) 또는 8바이트(64비트 아키텍처)
                `int`와 동일한 범위를 갖지만 더 많은 바이트를 사용합니다.
    - long long : 8바이트, -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지의 값을 나타냅니다.
                         (C++11부터 지원)
  2. 부동 소수점형 (Floating-Point Types)
    - float : 4바이트, 단정도 부동 소수점 값을 나타냅니다.
    - double : 8바이트, 배정도 부동 소수점 값을 나타냅니다.
    - long double : 시스템에 따라 다를 수 있으며, 8바이트 이상일 수 있습니다.

  3. 문자형 (Character Types)
    - char : 1바이트, 문자를 나타냅니다.
    - wchar_t : 대개 2바이트, 시스템에 따라 다를 수 있으며 , 넓은 문자를 나타내기 위해 사용됩니다.

  4. 부울형 (Boolean Type)
    -  bool : 1바이트, `true` 또는 `false` 값을 나타냅니다.
                 특징) int에서 형 변환 시 0은 false 그 외 다른 숫자는 true

  5. 포인터 (Pointer Types)
    - 시스템 아키텍처에 따라 다를 수 있지만 대개 4바이트 또는 8바이트입니다.

위의 크기는 표준적인 사이즈이며, 특정 시스템에서는 다를 수 있습니다.

또한, `sizeof` 연산자를 사용하여 데이터 타입의 크기를 직접 확인할 수 있습니다.

C++에서는 이러한 다양한 데이터 타입을 활용하여 다양한 유형의 데이터를 다룰 수 있습니다.

각각의 데이터 타입을 이해하고 적절하게 활용하는 것은 효율적인 프로그래밍을 위해 중요합니다.

 


 

32비트 아키텍쳐
데이터 타입 크기(바이트) 범위
char 1 -128 ~ 127 또는 0 ~ 255
short 2 -32,768 ~ 32,767
int 4 -2,147,483,648 ~ 2,147,483,647
long 4 -2,147,483,648 ~ 2,147,483,647
long long 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
float 4  
double 8  
long double 12  
bool 1 true 또는 false
pointer 4  

64비트 아키텍처
데이터 타입 크기(바이트) 범위
char 1 -128 ~ 127 또는 0 ~ 255
short 2 -32,768 ~ 32,767
int 4 -2,147,483,648 ~ 2,147,483,647
long 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
long long 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
float 4  
double 8  
long double 16  
bool 1 true 또는 false
pointer 8  

 

 


제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

 

 
반응형