[Java] (해결중)형변환에서 값 손실 결과

삶걀·2022년 4월 27일
0

기타

목록 보기
5/12
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가 나오는 이유는 대충 홀수번째에서 더 돌리니까 음수..인건가? 거의 다왔는데 모르겠네

아시는분 댓글좀요

profile
반숙란 좋아하는사람

0개의 댓글