int cccc/*=0*/;
cccc |= 1 << 1; //첫번째꺼 1로 키기
cccc |= 1 << 2; //두번째꺼 1로 키기
cccc &= ~(1 << 2); //두번째꺼 0으로 만들기
cccc &= ~(1 << 1); //첫번째꺼 0으로 만들기
bool cheak2 = (cccc >> 1) & 1; //첫번째가 1로 켜져있는지 체크하기
bool cheak3 = (cccc >> 2) & 1; //두번째가 1로 켜져있는지 체크하기
//////////////////////////////
/*cccc ^= 1 << x; x번째 비트를 반전한다.*/
//////////////////
/////////////
/*(number >> x) & 1; 는 x번째 비트가 1이면 1을, 0면 0을*/
//////////////
//enum
//{
// E_ONE = 0x1,
// E_TWO = 0x2,
// E_THREE = 0x3,
// E_FOUR = 0x4,
// E_last = 0x12,
// E_last2 = 0x5,
// E_last3 = 0x6,
// E_last4 = 0x7,
// E_last5 = 0x10,
// E_last6 = 0xA,
// E_last7 = 0xF,
//};
//int T_1= E_ONE;
//int T_2= E_TWO;
//int T_3= E_THREE;
//int T_4= E_FOUR;
//int T_18 = E_last;
//int T_5 = E_last2;
//int T_6 = E_last3;
//int T_7 = E_last4;
//int T_16 = E_last5;
//int T_10 = E_last6;
//int T_15 = E_last7;
//int C_1= E_ONE | E_TWO;
//int C_2 = E_FOUR | E_TWO;
///////////
0x1 은 1을 체크하는 자리의 비트가 1인 값을 애기한다.
0x2 는 2의값을 체크하는 자리의 비트가 1인 값을 애기한다.
0x3 은 3의값을
////
int wefwe = 324234;
void MyHelf::TurnOnBit(int & _i, unsigned int _order)
{
_i |= 1 << _order;
}
void MyHelf::TurnOffBit(int & _i, unsigned int _order)
{
_i &= ~(1 << _order);
}
'공부 > C++' 카테고리의 다른 글
| 스마트 포인터 (0) | 2018.09.11 |
|---|---|
| 메모리누수 탐지 (crtdbg) (0) | 2018.09.11 |
| 오직 한번만 계산하기 (0) | 2018.08.11 |
| 스왑 (0) | 2018.07.25 |
| 난수생성 (0) | 2018.07.25 |

