C51中实现循环左移、右移的库函数: #include<intrins.h> unsigned char _crol_( unsigned char c, /*charactertorotateleft*/ unsigned char b); /*bitpositionstorotate*/ unsigned char _cror_(unsigned char ,unsigned char ); unsigned int _iror_(unsigned int ,unsigned char ); unsigned long _lror_(unsigned long ,unsigned char ); unsigned char _crol_(unsigned char ,unsigned char ); unsigned int _irol_(unsigned int ,unsigned char ); unsigned long _lrol_(unsigned long ,unsigned char ) 自己实现同样的功能: unsigned char crol(unsigned char c,unsignedb){ unsigned char left=c<<b; unsigned char right=c>>( sizeof (unsigned char )-b) unsigned char temp=left|right; return temp; } unsigned char cror(unsigned char c,unsignedb){ unsigned char right =c>>b; unsigned char left =c<<( sizeof (unsigned char )-b) unsigned char temp=left|right; return temp; }