달력

0

« 2025/11 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2018. 8. 15. 20:46

비트연산 공부/C++2018. 8. 15. 20:46

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
:
Posted by 장자라장장장장장맨