byte readData = (byte) input.read();
logger.debug("kyh calculator readData : " + readData );
통신에서 읽은 데이터 값을
디버그로 보는소스인데요
분명 바이트로 보내는걸 바이트 값으로 저장해서 로그로 보는데
다른 값들은 90이라던가 91이라던가 81이라던가 제대로 다 양수정상값이 나오는데
139를 보내서 받으면
kyh calculator readData : -117
이런식으로 나오고
byte len = readData;
logger.debug("kyh calculator len : " + len);
if (len > 0 && len < MAX_BUF_SIZE)
len값이 0이하라 조건문을 통과를 못하네요
저는 로그값을 보는 디버그에서만 마이너스값이 나오는게 아닐까 했는데
조건문 통과못하는거 보니까 len이 0 이하라서 조건문 못들어가는거 보니 그런게 아니고
바이트값이 마이너스가 나오는게 되는건가요?
0~255까지 값이 아니었나요?
자료형 자체 범위가 0~255인데 어떻게 마이너스값으로 로그로 표현이 되며
byte len으로 자료형 지정까지 해서 받는데
마이너스 값이라 조건문을 통과 못하는지...
안드로이드 byte 자료형은 범위가 다른건가요? 왜 마이너스값이 나올수가 있는거죠?
뭐를 고쳐야 139를 제대로 볼수 있을까요?
그리고 안드로이드 저 로그값 볼 때요 (" 스트링" + 변수)로 하는데
변수는 int던 byte던 float이던 아무거나 넣으면 그거에 맞게 나와주는건지요? 아니면 int값으로만 나온다던가 하는건지요?