형 변환
-> 서로 다른 타입간의 변환
묵시적 형 변환
-> 사용자가 의도하지 않아도 컴파일러가 자동으로 변환해주는 것
명시적 형 변환
-> 사용자가 의도한 형 변환
형 변환 규칙
#1 대입 연산자 기준
-> 대입 연산자 기준으로 좌측 자료형으로 형 변환이 발생한다.
묵시적 형 변환
int i = 3.14;
// double형 3.14라는 데이터가 int형 3이라는 정수로 형 변환되서 a에 대입된다.
double b = 3;
// int형 3이라는 데이터가 double형 3.0으로 형 변환되서 b에 대입된다.
명시적 형 변환
int a = (int)3.14;
int a = int(3.14);
#2 산술 연산 시 기준 (묵시적 형 변환)
정수 대 실수
-> 실수 형으로 형 변환
-> cout << (3 * 3.1) << endl;
-> 9.3
같은 타입, 크기가 다를 경우
-> 크기가 큰 쪽으로 형 변환
예)
int a = 3; (4byte)
long long b = 20; (8byte)
타입이 같고 크기가 다르기 때문에 8byte가 나온다.
float a = 3.14f; (4byte)
long long b = 20; (8byte)
cout << sizeof(a + b) << endl;
타입이 다르기 때문에 4byte가 나온다.
'Programming > C++ Basic' 카테고리의 다른 글
C++ 반복문(for, while, do ~ while), goto 문 (0) | 2020.08.19 |
---|---|
C++ 분기문(if, else if, else, switch) (0) | 2020.08.19 |
C++ 진수, 연산자 (0) | 2020.08.14 |
C++ 부호비트, 음수와 양수 변환, 아스키코드, 상수, 표기법 (0) | 2020.08.13 |
C++ 변수와 자료형 (0) | 2020.08.12 |