예:
void f(int i) {
long val = 65536 * i;
}
빠른 수정이 적용된 후 코드는 다음과 같이 변경됩니다:
void x(int i) {
long val = 65536L * i;
}
예:
void f(int i) {
long value = i << 24;
}
빠른 수정이 적용된 후 코드는 다음과 같이 변경됩니다:
void f(int i) {
long value = (long) i << 24;
}
그러한 곱셈은 보통 실수이며 예기치 않게 오버플로 절단이 발생할 수 있습니다.
int 리터럴을 long 리터럴(65536L)로 변환하면 문제를 해결할 수 있습니다.