请问在C语言中如何实现带进位标志位的循环左移?

我要对一个字节中的8个位进行倒序处理... 我要对一个字节中的8个位进行倒序处理 展开
 我来答
代码残卷
推荐于2016-06-01 · 知道合伙人教育行家
代码残卷
知道合伙人教育行家
采纳数:1235 获赞数:8728
一直从事机械电子技术研究与开发,成功的项目繁多。

向TA提问 私信TA
展开全部
C51不能实现带进位的移位,有两种办法完成这个功能,一种是在C中嵌入汇编,另一种就是使用特殊写法。

在这里我只介绍使用C特殊写法完成左移或者右移的方法,请你参考,如果遇到问题,欢迎交流。

看下面的例子:
CY=ACC&1;
...
CY=ACC&0x80;

这两个语句编译后会产生带进位右移和左移指令,如果你的数据不是在这两个寄存器,请你根据情况变通。

例如:
unsigned char c;
ACC=c;
CY=ACC&1;
......
奇醉薄323
2006-03-08 · TA获得超过837个赞
知道小有建树答主
回答量:880
采纳率:0%
帮助的人:0
展开全部
我对C不熟.不过可以这样做:
放置需要转换的数据到可以进行位操作的地址.然后做8循环,将第N位复制到另一个数据地址的8-N位上就可以了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式