首页 理论教育 51单片机C语言编程:循环移位函数学会

51单片机C语言编程:循环移位函数学会

时间:2023-10-11 理论教育 版权反馈
【摘要】:使用C51库自带的循环左移或循环右移函数可以方便、简洁地实现流水灯。当我们打开Keil\C51\HLP文件夹,再打开C51lib文件,在索引栏我们可找到循环左移函数_crol_和循环右移函数_cror_。这两个函数都包含在intrins.h这个头文件之中。所以,如果程序中要使用循环移位函数,则必须在程序的开头包含intrins.h这个头文件。每执行一次,c的二进制值会被循环右移b位,右移后所得到的值返回给该函数。

51单片机C语言编程:循环移位函数学会

使用C51库自带的循环左移或循环右移函数可以方便、简洁地实现流水灯。当我们打开Keil\C51\HLP文件夹,再打开C51lib文件(这个文件是C51自带库函数的帮助文件),在索引栏我们可找到循环左移函数_crol_和循环右移函数_cror_。这两个函数都包含在intrins.h这个头文件之中。所以,如果程序中要使用循环移位函数,则必须在程序的开头包含intrins.h这个头文件。

1.循环左移函数_crol_

函数的原形是:unsignedchar_crol_(unsignedch ar c,unsigned char b)。其中c是一个变量,b是一个数字。这是一个有返回值(前面不加void)、带参数的函数。它的意思是将字符C的二进制值循环左移b位。该函数返回的是移位后所得到的值。

例如,设c=0x5f=0101 1111B,执行一次temp=_crol_(c,3)_的过程是:将c循环左移3位,即:c的二进制数值的各位都左移3位,c的高3位(即010)会被移出,移到c的低3位,于是变为11111010B,所以_crol_(c,3)_的值为11111010B,temp=11111010B。每执行一次,c的二进制数值循环左移3位。(www.xing528.com)

2.循环右移函数_cror_

函数的原形是:unsigned char_cror_(unsigned char c,unsigned char b)。每执行一次,c的二进制值会被循环右移b位,右移后所得到的值返回给该函数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈