微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

编程技巧 如何让单片机C语言循环移位

2015-03-31 09:15 来源:电源网综合 编辑:铃铛

曾经接触过单片机编程的朋友一定知道这样一种情况,在使用MCU程序写作的时候,并不存在循环移位的语句,需要使用移位的语句的进行代替。那么问题来了,如何在程序中进行循环移位?

小编特意整理了这样一种方法,来帮助大家解决这种问题。

循环移位区别于一般移位的是移位时没有数位的丢失。循环左移时,用从左边移出的位填充字的右端,而循环右移时,用从右边移出的位填充字的左侧。这种情况在系统程序中时有使用,在一些控制程序中用得也不少。设有数据说明:

a=01111011,循环左移2位 正确结果: 11101101

过程:

b=a>>(8-2) 用来得到正常左移丢失的位和循环移位后其正确位置b=00000001;

a=a<<2;左移a=11101100

a=a|b;a=11101101

如果不是用中间变量a=(a>>(8-2))|(a<<2)

总长度N(8 16 32)

循环左移n: (a>>(N-n))|(a>>n)

循环右移n: (a<<(N-n))|(a>>n)

相较而言,C语言所写出的程序在运算功能上要比其他的程序来的出色。开发者们能够使用其实现一些较为灵活的功能,同样,想要学好C语言,变相思考灵活运用也是非常重要的一项。希望本文能够帮助各位读者开拓C语言方面的知识面。

标签: 单片机 C语言

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

相关阅读

微信关注
技术专题 更多>>
研发工程师的工具箱
智慧生活 创新未来

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006