타입 변환
- = 하나의 타입을 다른 타입으로 바꾸는 행위
- 아래의 경우 자동으로 타입 변환을 수행
- 다른 타입끼리의 대입, 산술 연산
- 함수에 인수 전달
- 표현 범위가 넓은 타입 -> 좁은 타입으로의 변환에서 데이터의 손실 발생
타입 변환의 종류
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
참고)
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
'[공부] > C++' 카테고리의 다른 글
[C++] 기본 정리 5 - 제어문 (0) | 2024.02.19 |
---|---|
[C++] 기본 정리 4 - 연산자 (0) | 2024.02.19 |
[C++] 기본 정리 2 - 타입(변수, 상수, 기본 타입, auto 키워드) (0) | 2024.02.15 |
[C++] 기본 정리 1 - 기본 형태, namespace, 주석, iostream (0) | 2024.02.15 |
[C++] C++이란? (0) | 2024.02.15 |