상세 컨텐츠

본문 제목

🔍 비트 연산 정리

자료구조&알고리즘/C++

by geminanolja 2025. 3. 6. 20:07

본문

🔍 XOR 연산(^)의 진짜 동작 방식

내가 작성한 XOR 연산 표에 오류가 있었다는 걸 확인했어.
지금부터 올바른 XOR 연산의 원리와 예제를 다시 정리해 줄게!

 


✅ 4️⃣ 최종 정리

연산 수식 설명 예제 (S = 0b1010, 10) 결과 (S 변경 후)

ind번째 비트 끄기 (0 만들기) S &= ~(1 << ind) ind 번째 비트를 0으로 설정 ind = 1; S &= ~(1 << ind); S = 0b1000 (8)
ind번째 비트 XOR (토글) S ^= (1 << ind) ind 번째 비트를 반전 (1 ↔ 0) ind = 2; S ^= (1 << ind); S = 0b1110 (14)
최하위 켜져 있는 비트 찾기 idx = (S & -S) 최하위 1의 값(2^n)을 찾음 S = 10 (0b1010); idx = S & -S; idx = 0b0010 (2)
크기가 n인 집합의 모든 비트 켜기 (1 << n) - 1 n개의 비트를 모두 1로 만듦 n = 4; S = (1 << n) - 1; S = 0b1111 (15)
ind번째 비트 켜기 (1 만들기) `S = (1 << ind)` ind 번째 비트를 1로 설정 `ind = 1; S
ind번째 비트가 켜져 있는지 확인 if (S & (1 << ind)) ind 번째 비트가 1인지 확인 ind = 1; if (S & (1 << ind)) true (1이면 참)

 

관련글 더보기