자바 16진수 문자 출력할때 ffff 출력 현상 + 쉬프트연산 및 계산

2021. 12. 22. 11:37·앱 개발/Java
반응형

0x30, 0x31을 Integer.toHexString을 사용하여 출력하면 0x30이 그대로 나왔다.

그러나 0xC0 등의 수를 출력하면 앞에 'ffff'라는 값이 붙어서 나왔다.

비트 연산을 해주려는데 값이 변해버리니 연산 값도 변해버리는 이슈가 발생했습니다.

Integer.toHexString

 

Integer.toHexString

 

해결법

 

해당 byte크기만큼  0xff를 AND 연산해주면 된다!

1byte면 0xff

2byte면 0xffff

3byte면 0xffffff

...

 

적용 예시 (ffff값 처리 -> 쉬프트 연산 -> 연산)

 

[MainActivity.Java]

hh = (aa<<24);
Log.d("Simulators", "hh는 " + Integer.toHexString(hh & 0xffffffff));
int ee = (bb<<16);
Log.d("Simulators", "ee " + Integer.toHexString(ee & 0xffffff));
int ff = (cc<<8);
Log.d("Simulators", "ff " + Integer.toHexString(ff & 0xffff));
Log.d("Simulators", "dd " + Integer.toHexString(dd & 0xff));
pp = ((hh & 0xffffffff)+(ee & 0xffffff)+(ff & 0xffff)+(dd & 0xff));

Log.d("Simulators", "계산 결과(pp)는 " + Integer.toHexString(pp));
Log.d("Simulators", "pp " + pp);

oncreate 내에서 작성해줬습니다.

위 코드 결과값

 

반응형

'앱 개발 > Java' 카테고리의 다른 글

[안드로이드] 레이아웃 배경색 어둡게  (0) 2022.01.03
[안드로이드] 권한 요청 팝업 (한번에 여러개 요청)  (0) 2022.01.03
안드로이드 DB 데이터 csv 파일로 추출  (0) 2021.12.23
자바 비트 연산, 쉬프트 연산자  (0) 2021.12.22
안드로이드 리스트뷰 아이템 정렬(내림차순)  (0) 2021.12.09
'앱 개발/Java' 카테고리의 다른 글
  • [안드로이드] 권한 요청 팝업 (한번에 여러개 요청)
  • 안드로이드 DB 데이터 csv 파일로 추출
  • 자바 비트 연산, 쉬프트 연산자
  • 안드로이드 리스트뷰 아이템 정렬(내림차순)
맨땅
맨땅
다른 개발자분들에게 도움이 되었으면 좋겠습니다
  • 맨땅
    맨땅에 코딩
    맨땅
  • 전체
    오늘
    어제
    • 분류 전체보기 (48)
      • 프로그래밍 지식 (1)
      • 즐거운 웹 개발 (7)
        • Setting (3)
        • 프로그래밍 (1)
        • HTML, CSS (1)
      • 앱 개발 (29)
        • Java (26)
        • Kotlin (0)
        • Setting (2)
        • 프로그래밍 (0)
      • AI (1)
        • Setting2 (0)
        • 프로그래밍 (0)
        • 크롤링 (1)
      • DB (9)
      • ---------------------------.. (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
맨땅
자바 16진수 문자 출력할때 ffff 출력 현상 + 쉬프트연산 및 계산
상단으로

티스토리툴바