본문 바로가기
[공부]/C++

[C++] 기본 정리 3 - 타입 변환

by 개발꿈냥무 2024. 2. 15.

타입 변환

  • = 하나의 타입을 다른 타입으로 바꾸는 행위
  • 아래의 경우 자동으로 타입 변환을 수행
    1. 다른 타입끼리의 대입, 산술 연산
    2. 함수에 인수 전달
  • 표현 범위가 넓은 타입 -> 좁은 타입으로의 변환에서 데이터의 손실 발생

타입 변환의 종류

 

 1. 묵시적 타입 변환 (자동) : 컴파일러가 자동으로 수행

  • 대입 연산 시 : 연산자의 오른쪽 데이터의 타입이 왼쪽 데이터의 타입으로 변환
  • 산술 연산 시 : 데이터의 손실이 최소화되는 방향으로 변환됨(char → short → int → long → float → double → long double)
/* 묵시적 타입 변환 -- 대입 연산 */
int num1 = 4.25;
int num2 = 8.3E12;
double num3 = 2;

cout << "num1 = " << num1 << endl;
cout << "num2 = " << num2 << endl;
cout << "num3 = " << num3;
// num1 = 3
// num2 = 2147483647 (int 범위 초과로 이상한 결과가 출력됨)
// num3 = 2

/* 묵시적 타입 변환 -- 산술 연산 */
double sum1 = 2 + 1.15;		// 3.15
double sum2 = 2.0f + 1.15;	// 3.15

 

 

 2. 명시적 타입 변환 (강제) : 사용자가 type cast 연산자를 사용해 강제로 수행

 문법

  • (변환할 타입) 변환할 데이터 : C, C++ 둘 다 사용 가능
  • 변환할 타입 (변환할 데이터) : C++에서만 사용 가능
// 예시
int num1 = 1;
int num2 = 2;

double result0 = num1 / num2;		// 0
double result1 = (double)num1 / num2;	// 0.5
double result2 = double(num1) / num2; 	// 0.5

 

 

 

 

 

참고)

코딩의 시작, TCP School

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com