CH2-3 · FLOW

숫자 변환과 정밀도 예제가 실행되는 순서

연산 전 피연산자 타입 확인에서 시작해 축소 전 범위·정밀도 검사까지 값과 책임이 이동한다.

  1. 1
    연산 전 피연산자 타입 확인

    byte + byte의 결과가 byte가 아니라 int인 이유는 산술 연산이 최소 int 정밀도에서 이루어지기 때문입니다.

  2. 2
    공통 계산 타입으로 승격

    int를 long으로 옮기면 정확하지만 큰 long을 double로 바꾸면 정밀도를 잃을 수 있습니다.

  3. 3
    축소 전 범위·정밀도 검사

    (int) longValue는 상위 비트를 버릴 수 있습니다.

실행 순서 실수 대입 전에 이미 정수 나눗셈을 했다면 버린 소수 부분은 되돌아오지 않습니다.