• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

명시적 형변환

19.01.21 05:28 작성 조회수 115

0

int iVAr = 123456;

byte bVar = (byte)iVar;

System.out.println("bVar = " +bVar);

을 돌리면 bVar = 64 가 나오는 계산 과정이 이해가 안돼요ㅜㅜ

byte가 지원되는 숫자가 +- 128 까지라 이 이상의 숫자는 짤린다는건 알겠는데
어떤 계산과정을 거쳐서 '64'라는 숫자가 도출되는지 아시는 분 있으면 답변 부탁드려요

답변 1

답변을 작성해보세요.

0

이형주님의 프로필

이형주

2019.01.21

저도 배우는 입장으로 한 말씀 올립니다.

예문의 구문 중 byte bVar = (byte)iVar; 을 지우고

int iVAr = 123456;

System.out.println("iVar = " +iVar);

을 입력하게 되면 123456이 표시되는데요.

byte를 추가한 예문처럼 입력하게 되면 byte는 표시값이 int에 비해 적어

값이 지원가능한 값 제외 모두가 날라가게 되어 그렇게 표시되는 거라네요.