Tag Archives: 비트연산

비트연산

프로그램을 할때 시리얼 통신이 많다보니 Bit 연산을 할 일이 많은데, 자꾸 Bit 연산을 잊어버려서 이렇게 기록해 놓는다.

[Bit Set]

  Num |= 1 << 자릿수     (Num의 숫자에서 1로 Setting 셋팅하기 원하는 자릿수를 적는다.)

예)
  int bitNum = 10;                               // 이진수 : 1010

  bitNum |= 1 << 2                           // 이진수 : 1110
  cout << “bitNum = ” << bitNum << endl;

  결과 : bitNum = 14

[Bit Reset]

  Num &= ~(1 << 자릿수)     (Num의 숫자에서 0로 Setting하기를 원하는 자릿수를 적는다.)

예)
  int bitNum = 10;                               // 이진수 : 1010

  bitNum &= ~(1 << 1);                      // 이진수 : 1000
  cout << “bitNum = ” << bitNum << endl;

  결과 : bitNum = 8

[Bit Get]

  Num & (1 << 자릿수) ? 1 : 0     (Num의 숫자에서 원하는 자릿수의 값을 알아볼때 사용)

예)
  int bitNum = 10;                              // 이진수 : 1010
  int nTemp = -1;
  nTemp = bitNum & (1 << 1) ? 1 : 0;
  cout << “bitNum = ” << nTemp << endl;

  결과 : bitNum = 1