C++

[c++] 자료형

차이리 2023. 12. 12. 11:00

컴퓨터는 디지털 방식의 전기신호를 사용하기 때문에, 모든 정보를 숫자 0과 1로 표현한다. 그래서 이러한 방식을 bit와 byte로 표현할 수 있는데, 자료형을 설명하기 전, 이에 대한 개념을 알아보자.

  • 1bit: 0과 1의 정보를 나타내는 최소 단위
  • 1byte: 8개의 bit로 이루어진 단위

bit / byte 구성도

▶ 자료형

  • Data Type을 정의
  • 크기 단위: byte

▶ 자료형 종류

※ 자료형(byte 크기)

  • 정수형: char(1), short(2), int(4), long(4), long long(8)
  • 실수형: float(4), double(8)

▶ 자료형 양수, 음수 표현

// 양수, 음수 자료형 예시
unsigned char c1 = 0;
char c2 = 0;
unsigned char c1 = 0;
  • unsigned는 양수만을 표현한다는 정의
  • c1은 1byte 크기의 양의 정수로 0~255까지 표현 가능
  • 1 byte로 양수만 표현하는 정수 타입 선언
char c2 = 0;
  • 자료형 char 앞에 (signed)가 생략되었고, 양/음수 모두 표현한다는 정의
  • c2는 1byte 크기의 정수로 -128 ~ 127(0포함)까지 표현 가능
  • 1 byte로 양/음수 모두 표현하는 정수 타입 선언

▶ 자료형 실수 표현

  • 정수 표현 방식과 실수 표현 방식은 다름
  • 실수 표현방식은 정밀도에 의존. 즉, double(8) 자료형이 float(4) 보다 더 아래의 소수점까지 정확하게 표현이 가능
  • 정수는 정수끼리, 실수는 실수끼리 연산하되, 두 표현방식의 피 연산자가 연산될 경우 명시적으로 변환(아래 예시)
// 실수 연산 예시
float f1 = 10.2415f + (float)20;
float f2 = 10.2415f + 20;
  • f1과 f2의 연산 결과값은 같음. 그러나 f1 연산에서는 정수 20 앞에 float으로 실수로 타입을 변경(명시)해 줌