conversion point

나눗셈 전에 바꿔야 결과 타입이 바뀐다

정수끼리 먼저 나누면 결과는 이미 잘립니다. 실수 결과가 필요하면 연산이 시작되기 전에 피연산자 하나를 실수로 만들어야 합니다.

늦은 변환

정수 나눗셈이 끝난 뒤 double 변수에 담는다.

표현식double avg = total / count;
연산 전 타입int / int
먼저 생긴 결과100 / 3 → 33
avg에는 33.0이 저장된다

먼저 바꾸기

나눗셈 전에 한쪽을 double로 바꾼다.

표현식double avg = static_cast<double>(total) / count;
연산 전 타입double / int
먼저 생긴 결과100.0 / 3 → 33.333...
avg에는 33.333...이 저장된다
결과 변수의 타입보다 중요한 것은 연산에 들어가는 피연산자의 타입이다.