본문 바로가기

반응형

비트

(3)
[알고리즘 깨알 팁] 비트로 연산하는 방법 비트로 연산하는 방법! 많은 사람들이 비트로 연산하는 것에 대한 두려움과 거부감을 가지고 있는 것 같습니다.하지만, 비트연산이란 알고보면 별 것 없습니다! 우선, 비트연산을 하기 위해서 알아야할 5가지의 연산 방법을 알아봅시다. 1. & : 비트 AND 연산. 비트마다 AND 연산을 해서 두 비트가 모두 1일 경우에 1 그 외에는 0이 됩니다. ex) 0b 1111 & 0b 0011 = 0b 0011 2. | : 비트 OR 연산. 비트마다 OR 연산을 해서 두 비트중 하나라도 1일 경우에 1 그 외에는 0이 됩니다.ex) 0b 1100 | 0b 1010 = 0b 1110 3. ~ : 모든 비트를 1이면 0으로 0이면 1로 반전합니다.ex ) ~0b 1100 = 0b 0011 4. >> : 1 비트 오른쪽..
[완전탐색/부분집합] 비트를 이용하여 모든 부분집합을 구하자! 부분 집합이란 전체의 집합에서 하나의 원소를 '고른다 / 안 고른다' 두 가지의 경우에 대해 살펴보는 것이므로 2^n 가지의 경우가 나옵니다. 이는 비트를 이용하면 굉장히 쉽게 구할 수 있습니다! 왜냐하면 비트는 이진수이기 때문에, 하나의 자리수마다 고른다 (1) / 안 고른다(0)을 설정할 수 있기 때문입니다! 우선 코드를 보겠습니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 #include#include#include int arr[10]; void print(int bit){ int idx = 0; while (bit) { if (bit & 1) { printf("%d ", a..
[완전탐색/조합] 비트 연산을 이용하여 조합 만들기 - 비트 조합 예전에 대학생활을 하면서 '로봇 연구회' 동아리 활동을 하면서 아트메가 128을 사용했기 때문에 비트연산을 이용한 경험이 있습니다. 덕분에 프로그래밍을 하면서 비트를 이용해서 문제를 해결한 적이 있는데, 이번에는 그 중에서도 특히 인상 깊었던 '조합 만드는 법'에 대해서 설명하려고 합니다! 우선, 그 전에 비트 연산에 대해서 간단히 알아봅시다. 1. & : 비트 AND 연산. 비트마다 AND 연산을 해서 두 비트가 모두 1일 경우에 1 그 외에는 0이 됩니다. ex) 0b 1111 & 0b 0011 = 0b 0011 2. | : 비트 OR 연산. 비트마다 OR 연산을 해서 두 비트중 하나라도 1일 경우에 1 그 외에는 0이 됩니다.ex) 0b 1100 | 0b 1010 = 0b 1110 3. ~ : 모든..

반응형