![[C++] 컴파일러가 데이터형 변환 검사를 진행하는 순서](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdVG0hX%2FbtsG7CKtYBQ%2FmkVZ1vpSpGZB4vMUY2aXQK%2Fimg.jpg)

[C++] 컴파일러가 데이터형 변환 검사를 진행하는 순서PROGRAMMING/04. C++2024. 5. 2. 18:16
Table of Contents
반응형
(C++ 11 버전) 컴파일러가 산술식에서 어떤 데이터형 변환이 이루어져야 하는지 검사를 진행하는 순서
- 한쪽 피연산자가 long double형이면, 상대편 피연산자를 long double형으로 변환
- 그렇지 않고 한쪽 피연산자가 double형이면, 상대편 피연산자를 double형으로 변환
- 그렇지 않고 한쪽 피연산자가 float형이면, 상대편 피연산자를 float형으로 변환
- 그렇지 않다면 피연산자들이 정수형이므로 정수 승급이 일어남
- 이 경우엔, 양쪽 피연산자가 모두 signed이거나 모두 unsigned일 경우에는 두 피연산자의 상대적 크기에 따라 큰 쪽으로 변환
- 반면에, 한쪽 피연산자가 signed이고, 다른 쪽이 unsigned일 경우, unsigned피연산자가 signed피연산자보다 상대적으로 크다면 unsigned 피연산자의형으로 변환
- 그렇지 않고 signed형이 unsigned형의 모든 값을 표현할 수 있다면, unsigned 피연산자가 signed형으로 변환됨
- 위 5,6,7에 해당되지 않을 경우엔, 양쪽 피연산자 모두 signed형의 unsigned버전으로 변환
출처 및 참고 : C++ 기초 플러스
반응형

@HYUNJZZANG :: HyunZzang
HyunZzang의 프로그래밍 공간 / 함께 공부해요!!
도움이 되셨다면 "좋아요❤️" 또는 "구독👍🏻" 부탁드립니다 :)