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

비트 연산 질문 드립니다.

0 추천
안녕하세요. 비트연산에 관련하여 질문드립니다.

 

54 를 ~ 비트 연산하여 201을 만들고 싶은데 안드로이드에서는 1의 보수값인 -54 가 출력이 됩니다.

201로 출력 할수 있는 방법이 없을까요??

아래와 같이 코딩하니 -54 가 나오네요. 꼭 201 이 나와야 합니다.

byte temp = 54;

temp = (byte)~temp;
깡갱 (660 포인트) 님이 2018년 1월 11일 질문
깡갱님이 2018년 1월 12일 수정

2개의 답변

0 추천
~ 연산의 결과는 '1의 보수'입니다.

~54 = -55

54의 '2의 보수값'은 -54입니다.

~54 + 1 = -55 + 1 = 54
디자이너정 (42,810 포인트) 님이 2018년 1월 11일 답변
제가 값을 잘못 적었네요.
~ 연산을 해서 54 가 -54가 아닌 201 값으로 나오게 하고 싶은데 가능 할까요?
int result = 0xff & ~54;
0 추천
Byte.toUnsignedInt((byte)~temp)

요렇게 하면 되나요?
눈빛 (4,120 포인트) 님이 2018년 1월 12일 답변
...