int main()
{
int a = 8;
int b = 1 << 1;
int c = a | b; // or 연산
int d = a | a;
cout << c << "\n";
cout << d << "\n";
return 0;
}
//출력
10
8
int main()
{
int a = 12; // = 1100
int inx1 = 0;
int inx2 = 3;
if(a & (1 << inx1)) // = 0001
{
cout << "inx1\n";
}
if (a & (1 << inx2)) // = 1000
{
cout << "inx2\n";
}
cout << (a & (1 << inx2));
return 0;
}
//출력
inx2
8 (1100, 1000 & 연산 결과!)
int arr[5] = {1, 2, 3, 4, 5};
for(int i = 0; i < (1 << 5); i++) {
string str = "선택 목록 : ";
for(int j = 0; j < 5; j++) {
if(i & (1 << j)) {
str += to_string(arr[j]);
str += " ";
}
}
cout << str << "\n";
}
// 출력
선택 목록 :
선택 목록 : 1
선택 목록 : 2
선택 목록 : 1 2
선택 목록 : 3
선택 목록 : 1 3
선택 목록 : 2 3
선택 목록 : 1 2 3
선택 목록 : 4
선택 목록 : 1 4
선택 목록 : 2 4
선택 목록 : 1 2 4
선택 목록 : 3 4
선택 목록 : 1 3 4
선택 목록 : 2 3 4
선택 목록 : 1 2 3 4
선택 목록 : 5
선택 목록 : 1 5
선택 목록 : 2 5
선택 목록 : 1 2 5
선택 목록 : 3 5
선택 목록 : 1 3 5
선택 목록 : 2 3 5
선택 목록 : 1 2 3 5
선택 목록 : 4 5
선택 목록 : 1 4 5
선택 목록 : 2 4 5
선택 목록 : 1 2 4 5
선택 목록 : 3 4 5
선택 목록 : 1 3 4 5
선택 목록 : 2 3 4 5
선택 목록 : 1 2 3 4 5