마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
unsigned 자료형에 대해 질문이 있습니다.
0
추천
자바의 int , short , char 자료형을 통신을 위해
c언어의 unsinged int, short , char로 맞춰 송수신해줘야하는데요
자바에서는 unsigned를 지원하지 않는걸로 알고있습니다 ..
들어오는 unsigend 데이터를 어떻게 받고
보낼때는 어떻게 해야 unsigend 데이터로 만들어 보낼수 있을까요ㅠㅠ
송수신시에는 byte로 변환하여 주고받습니다.
귀한시간 내주셔서 답변해주시는분들께 늘 감사드립니다.
안드로이드
android
자료형
unsigned
kohler
(
460
포인트)
님이
2015년 10월 16일
질문
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
1개의 답변
+1
추천
채택된 답변
가급적이면 unsigned를 사용하지 않으면 좋겠지만.. c 계열 서버들에서 많이들 사용하니.. 혹시 Guava 참고해 보세요..
https://github.com/google/guava/wiki/PrimitivesExplained
..
저도 예전에 이 기종과 프로토콜 맞추느라 unsigned 때문에 참 불편했었는데.. 요즘의 직렬화 라이브러리 많이 쓰니.. 차후에는 그 쪽으로. ^^
mcsong
(
44,040
포인트)
님이
2015년 10월 16일
답변
kohler
님이
2015년 10월 16일
채택됨
답변 감사합니다.
byte로 들어오는 unsigned 데이터들은 처리를 할 수 있겠습니다만
보낼때는 어떻게 해줘야 할까요 ....
unsigned int로 byte를 만들어 쏴줘야 하는데 감이 잘 안잡히네요...
unsignedint는 내부에서 long 으로 변경해서 사용하시면 됩니다. 그리고, 이 long 값은 아래와 같은 코드로 처리하시면 됩니다.
public static long parse( byte[] data ) {
return parse( data, 0 );
}
public static long parse( byte[] data, int offset ) {
return (((long) data[offset] & 0xffL) << 24)
| (((long) data[offset+1] & 0xffL) << 16)
| (((long) data[offset+2] & 0xffL) << 8)
| ((long) data[offset+3] & 0xffL);
}
public static byte[] parse( long number ) {
byte[] data = new byte[4];
data[0] = (byte) ((number >> 24) & 0xff);
data[1] = (byte) ((number >> 16) & 0xff);
data[2] = (byte) ((number >> 8) & 0xff);
data[3] = (byte) (number & 0xff);
return data;
}
Please
log in
or
register
to add a comment.
...