C51中实现循环左移、右移的库函数:
自己实现同样的功能:
- #include <intrins.h>
- unsigned char _crol_ (
- unsigned char c, /* character to rotate left */
- unsigned char b); /* bit positions to rotate */
- 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, unsigned b)
- {
- 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, unsigned b)
- {
- unsigned char right = c>>b;
- unsigned char left = c<<(sizeof(unsigned char)-b)
- unsigned char temp = left|right;
- return temp;
- }
本文介绍了C51中循环左移和右移的操作方法,包括标准库函数的使用及自定义实现方式。通过示例代码展示了如何进行位操作。
1227

被折叠的 条评论
为什么被折叠?



