public class Ex_3_1_1 {
public static void main(String[] args) {
byte a = (byte)1000; //OK, but 값 손실이 발생해서 a에 -24가 저장됨.
System.out.println(a);
}
}
출력값: -24
여기서 출력값이 왜 -24일까?
일단 범위를 넘어가니까 오버플로우가 발생하는데 여기서 byte 범위가 -128~+127이니까
1000에서 256을 나누면 3.90625가 나오는데
3바퀴 돌리고 0.90625만큼 더 돌린다는건데
256*(0.90625)=232
256-232=24
여기서 -24가 나오는 이유는 대충 홀수번째에서 더 돌리니까 음수..인건가? 거의 다왔는데 모르겠네
아시는분 댓글좀요