单片机C语言实现循环移位

来源:本站
导读:目前正在解读《单片机C语言实现循环移位》的相关信息,《单片机C语言实现循环移位》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《单片机C语言实现循环移位》的详细说明。

大家知道,大家用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语言实现循环移位》最后刷新时间 2023-07-10 03:57:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机C语言实现循环移位》该内容的真实性请自行鉴别。