---
layout: post
title:  " 비트 마스크 (Bit Mask) "
date:   2018-03-27
excerpt: "  비트마스크 "
cate : "algorithm"
tag:
- Key Point
---


### Empty 집합 & Full 집합 


{% highlight cpp %}

int set = 0;
    
int set = (1 << 20) - 1;
 
{% endhighlight %}

---

### 원소 추가

{% highlight cpp %}

set |= (1<<p);
 
{% endhighlight %}

---

### 원소 포함 여부 체크

{% highlight cpp %}

if( set & ( 1<<p ) )
        cout << "p번째 원소는 집합안에 존재 " << endl;
 
{% endhighlight %}


---


### 원소 삭제

{% highlight cpp %}

set &= ~(1<<p);
 
{% endhighlight %}

---

### 원소 토글

{% highlight cpp %}

set ^= (1<<p);
 
{% endhighlight %}

---

### 모든 부분 집합 순회

{% highlight cpp %}

for(int subset = set; subset; (subset-1) & set)
 
{% endhighlight %}

---


## Review

* 비트를 이용한 문제풀이시 사용될 만한 Code


Write Algorithm Key Point Post ' 비트 마스크 (Bit Mask) '
Write Algorithm Key Point Post ' 비트 마스크 (Bit Mask) '
