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

바이트 처리 이렇게 가능할까요?

0 추천
(byte) 0x00하고 (byte)0x02의 값을 받아야합니다

최초에 하나의 바이트로 합쳐놓고 (ex 0x0008 이런식)

다른 함수에서 이것을 다시 0x00 하고 0x08로 나눠서 바이트 배열에 집어넣으려합니다

이게 가능한가요?
익명사용자 님이 2014년 12월 22일 질문

1개의 답변

+1 추천
int i = 0x0208;
      byte a = (byte)( (i&0xff00) >> 8);
      byte b = (byte)( (i&0x00ff));
      Log.e("", "byte a : " + a + " b: " + b  );

이렇게 해보셔요
nicehee (73,100 포인트) 님이 2014년 12월 23일 답변
아 이렇게하면 되네요
근데 >> 8 시프트하는 이유가뭐죠?
8번 오른쪽 자리옮기면 결과값이 다 00000000이 되지않나요?
실행해보니 예상대로 결과값이 a는 00이 나오네여
0xff00 이 16비트이지요
그러니 상위비트 0x02를 바이트로 변경하기위해 하위로 보내려면
8비트만큼 내려줘야지요
아 해결했습니다
자세한 답변 너무 감사드립니다
...