꽤 오래전 일인데.. Rotate 를 써야 하는 경우가 있었습니다.

제가 작업할 때 주로 사용하는 언어는 C/C++ 인데...

C/C++ 에서는 Shift 연산자는 있지만~ Rotate 에 대한 내용은 없더라구요.

그래서 그 때~ 가볍게 작성한 Rotate 함수입니다~ㅋ

#define LEFT    0
#define RIGHT   1

void Rotate(unsigned char &src, int mode)
{
    if (mode == RIGHT) {
        unsigned char temp;
        temp = src;
        temp <<= 7;

        src >>= 1;
        src |= temp;
    }
    if (mode == LEFT) {
        unsigned char temp;
        temp = src;
        temp >>= 7;

        src <<= 1;
        src |= temp;
    }
}

한바이트에 대해서 Rotate 를 하게 되는데 mode 에~ LEFT, RIGHT 를 써서

방향을 지정해줄 수도 있습니다.

이글루스에 있던 자료를 백업차원에서 티스토리에도 올려봅니다~ㅋ