반응형

#include <stdio.h>


inline unsigned char left_rotate( unsigned char x, int l )

{

        return ((x<<l) & 0xff) | ((x>>(8-l)) & 0xff);

}


int main()

{

        unsigned char x,y;

        x = 0x54; /* expected: 0x2a */

        printf("%x\n", x );

        y = left_rotate( x,4 );

        x = (x & 0xcc) | (y & 0x33);

        y = left_rotate( x,1 );

        x = left_rotate( y,2 );

        y = (x & 0xaa) | (y & 0x55 );

        printf("%x\n", y );

        return 0;

}



반응형

+ Recent posts