Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

a를 오른쪽으로 offset만큼 shift시킨다고 가정할 때
  1. >> 연산을 하게 되면, 가장 왼쪽비트는 이전에 있던 비트값으로 채워진다.
  2. 즉 음의 정수일 경우에만 >> 연산을 할경우 문제가 된다.
  3. >> 연산을 한번 한다음, 가장 왼쪽비트를 0으로 채우고
  4. 이제 offset - 1 만큼 쉬프트 하면 된다.
    int shift(int a, int offset)
    {
      int bitmask = ~(1 << 31);
      a = a >> 1;
      a = a&bitmask;
      a = a >> (offset - 1);
      return a;
    }