[C++] C++의 자료형(data type)

HY K·2024년 8월 18일

이번 포스팅에서는 C++의 자료형(data type)에 대해서 다뤄보겠다. 단, 포인터(pointer), 구조체(struct), enum, 클래스(class), 문자열(string) 같은 것은 나중에 다룰 것이고, 정수형과 같은 정말 기본적인 자료형에 대해서만 다룰 예정이다.


기본 자료형(Primitive Data Types)

void

void는 값을 가지지 않는 자료형이다. 주로 함수의 반환형(return type)으로 사용되며, 함수가 특정한 값을 반환하지 않을 때 사용된다(예를 들면 함수의 타입을 void로 선언).

void foo(param1, param2..){}

char

char는 문자 하나를 저장하기 위한 자료형으로, 1바이트(8비트)를 차지하며, ASCII 코드 값을 저장할 수 있다.

  • (signed) char : -128 ~ 127까지 저장 가능
  • unsigned char : 0 ~ 255까지 저장 가능
char letter = "A";
char str[] = "Hello"; // 이에 대해선 나중에 다룰 것이다

int

정수를 저장하기 위한 자료형으로, 4바이트의 크기를 가지고 있다.

  • (signed) int : -2,147,483,648 ~ 2,147,483,647
  • unsigned int : 0 ~ 4,294,967,295
int a = 100;

short int

작은 크기의 정수를 저장하는 자료형으로, 2바이트의 크기를 가지고 있다.

  • (signed) short int : -32,768 ~ 32,767
  • unsigned short int : 0 ~ 65,535
short int smallNumber = 1;

작은 정수를 저장할 때, 메모리 사용량을 줄이기 위해서 사용된다.

long

큰 크기의 정수를 저장하는 자료형으로, 64비트 시스템에서는 최대 8바이트의 정수를 저장할 수 있다.

  • (signed) long : -2,147,483,648 ~ 2,147,483,647 (4바이트일 경우)
  • unsigned long : 0 ~ 4,294,967,295 (4바이트일 경우)
long largenumber = 100000000;

long long

매우 큰 범위의 정수를 저장할 때 사용하는 자료형이다. 일반적으로 최대 8바이트까지 저장이 가능하다.

  • (signed) long long : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
  • unsigned long long : 0 ~ 18,446,744,073,709,551,615
long long veryLargeNumber = 100000000000000;

float

단정밀도 부동 소수점 숫자를 저장하는 자료형이다. 일반적으로 4바이트를 사용한다(간단하게 얘기하면 실수 자료형이다).

  • float : ±3.4e−38 ~ ±3.4e+38
  • 유효 자릿수 : 약 7자리
float pi = 3.15159

double

배정밀도 부동 소수점 숫자를 저장하는 자료형이다. float보다 더 높은 정밀도를 제공하며, 일반적으로 8바이트를 사용한다.

  • double : ±1.7e−308 ~ ±1.7e+308
  • 유효 자릿수 : 약 15자리
double a = 2.23423423445

💡 단정밀도 부동 소수점(Single-Precision Floating Point)
32비트(4바이트)를 통해서 실수를 표현하는 방법으로, 비트가 크게 3가지 부분으로 나뉘게 된다.
1. 부호 비트(sign bit) : 1비트, 숫자의 양수 또는 음수를 표시한다.
2. 지수부(Exponent) : 8비트, 수의 크기를 조절하는 지수를 저장하며, 바이어스(bias)화(化) 된 상태로 보관된다.
3. 가수부(Significand) : 23비트, 실제 숫자의 유효 숫자 부준을 저장한다.
.
이를 통해서 7자리의 정확도와, ±3.4 × 10^−38부터 ±3.4 × 10^38의 값을 표현할 수 있다.

💡 배정밀도 부동 소수점(Double-Precision Floating Point)
64비트(8바이트)를 통해서 실수를 표현하게 된다.
1. 부호 비트 : 1비트로 숫자의 양수 또는 음수 표기
2. 지수부 : 11비트로, 위와 동일하다.
3. 가수부 : 52비트로, 위와 동일하다.
.
이를 통해 15자리의 정확도와 ±1.7 × 10^−308부터 ±1.7 × 10^308의 값을 표현할 수 있다.

bool

논리 값을 저장하는 자료형이다. 참(true) 혹은 거짓(false) 값만을 가지게 되며, 통상 0이 거짓, 0이 아닌 모든 값을 참 취급한다. 1바이트까지 할당 가능하지만, 숫자 하나만 저장하는 경우가 대부분이라 1비트만 사용한다.

bool isTrue = true;
profile
로봇, 드론, SLAM, 제어 공학 초보

0개의 댓글