반응형
High byte, low byte 추출
실무 중 열받아서 정리하게 되었습니다
다른 분들도 보고 도움이 되셨으면 좋겠습니다
[MainActivity.Java]
byte aa = (byte)0x31
Log.d("Simulators", "high byte는 1 " + Integer.toHexString(aa & 0xF0)); //hihg byte만 추출(0x30)
Log.d("Simulators", "high byte는 2 " + Integer.toHexString(aa & 0xf0)); //위와 동일(소문자 써도 됌)
Log.d("Simulators", "low byte는 " + Integer.toHexString(aa & 0x0f)); //low byte만 추출(0x01)
Log.d("Simulators", "shift 연산자는 " + Integer.toHexString(aa << 8)); //8bit 앞으로 민거(0x3100)
위는 안드로이드 스튜디오 oncreate에 작성했습니다.
Integer.toHexString
를 사용한 이유는 Integer.toHexString 없이 찍어보면 48 즉 10진수값이 나오기 때문에 Hex값으로 보기 위해서 사용했습니다
만약 aa<<24 한 31000000에 aa를 더해 31000031을 표현하고 싶다면
byte aa = (byte)0x31;
int hh;
int pp;
hh = aa<<24;
Log.d("Simulators", "hh는 " + Integer.toHexString(hh)); //31000000
pp = (hh+aa);
Log.d("Simulators", "계산 결과(pp)는 " + Integer.toHexString(pp)); //31000031
이렇게 해주시면 됩니다
반응형
'앱 개발 > Java' 카테고리의 다른 글
[안드로이드] 레이아웃 배경색 어둡게 (0) | 2022.01.03 |
---|---|
[안드로이드] 권한 요청 팝업 (한번에 여러개 요청) (0) | 2022.01.03 |
안드로이드 DB 데이터 csv 파일로 추출 (0) | 2021.12.23 |
자바 16진수 문자 출력할때 ffff 출력 현상 + 쉬프트연산 및 계산 (0) | 2021.12.22 |
안드로이드 리스트뷰 아이템 정렬(내림차순) (0) | 2021.12.09 |