(알고리즘) 특정비트 바꾸기(비트 쉬프트)
참고하기: http://devanix.tistory.com/216
Java 비트셋: http://www.dotnetperls.com/bitset-java
Java 비트셋: http://www.dotnetperls.com/bitset-java
[ 비트 반전 ]
| ||||||||||||
▶ 특정 비트 반전 : 1과 ^연산. ( ^연산은 두 피연산자가 같으면 0, 다르면 1로 설정)
▷ 5번 비트 반전 >
위의 연산 코드화 : a ^= 0x1<<5
▷ 5,3,2번 비트 반전 >
위의 연산 코드화 : a ^= (0x1<<5)+(0x3<<2);
|
*****************주의 사항******************
1번과 3번 비트를 켜기 위해
int ans=0;
for(int i=1;i<=3;i++)
ans+=(1<<i);
이렇게 했는데 이러면안된다 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
OR비트 연산이 덧셈이아니다.....
ans|=(1<<i);이렇게 해야 한다...............................
댓글
댓글 쓰기