마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

java에서 int16 과 동일한 사용방법 문의

0 추천
C#에서 double 로 받은 값을 int16으로 형변환하여 다시 받는 코드가 있습니다.

double test = 60000;

test = (Int16)test ;

를 해서 값을 확인하면

60000.0 -> -5536.0 으로 변환 됩니다.

 

Java에서는 int16, int32 등의 연산자가 없는걸로 알고 있는데 위와 같은 결과를 내기위한 방법이 있는지 궁금합니다.
깡갱 (660 포인트) 님이 2015년 7월 29일 질문

2개의 답변

0 추천
단순하게 short로 캐스팅해주면 될 거 같습니다.

 

double a = 60000;

short b = (short)b;

로 테스트해보니 똑같이 -5536이 나오는걸 확인했습니다.

 

타입캐스팅이 60000이라는 double의 binary에 대해서 이루어지는게 아니고

double 60000이 먼저 int 60000로 바뀐다음 그 int에 대해 한번 더 int16 캐스팅이 일어네요.
어빈 (190 포인트) 님이 2015년 7월 30일 답변
0 추천
헐.......int16은 (short)로  캐스팅 하시면 됩니다...

int32는 (int)로 캐스팅....
익명사용자 님이 2015년 7월 30일 답변
...