多字节的移位

[复制链接]
2148|37
lzbf 发表于 2016-1-29 22:23 | 显示全部楼层
wyjie 发表于 2016-1-29 22:17
后10个字节的最高位分别移进其前一字节的最低位?我怎么没明白

先读取低位的
mmbs 发表于 2016-1-29 22:23 | 显示全部楼层
shimx 发表于 2016-1-29 22:18
这是 51 吗?

其实也不麻烦

单片机都有寄存器的。
pmp 发表于 2016-1-29 22:24 | 显示全部楼层
jiajs 发表于 2016-1-29 22:17
汇编的时候有RRL,RRC就搞定了,C怎么弄啊?

c就是>> 就行了。
i1mcu 发表于 2016-1-29 22:24 | 显示全部楼层
cemaj 发表于 2016-1-29 22:22
可以使用数组转换

这个还可以通过寄存器的标志。
cemaj 发表于 2016-1-29 22:24 | 显示全部楼层
楼主还有其他要求吗
lzbf 发表于 2016-1-29 22:24 | 显示全部楼层
yszong 发表于 2016-1-29 22:17
比如有这些字节要参与移位:unsigned char  a[]={0xfe,0x25,0x32,0x56,0x4e,0x56,0xab,0xef,0xf3}:

   a=a ...

这个就可以,实现不难,数据一位。
pmp 发表于 2016-1-29 22:24 | 显示全部楼层
或者转换多字节,然后移位。
i1mcu 发表于 2016-1-29 22:25 | 显示全部楼层
得看转换效率也很重要的。
cemaj 发表于 2016-1-29 22:25 | 显示全部楼层
你的程序要哪一种?
mmbs 发表于 2016-1-29 22:25 | 显示全部楼层
shimx 发表于 2016-1-29 22:18
这是 51 吗?

其实也不麻烦

这是汇编的,不是c的
lzbf 发表于 2016-1-29 22:25 | 显示全部楼层

AVR的设计吗
lzbf 发表于 2016-1-29 22:26 | 显示全部楼层
字节的移位解决了吗
mmbs 发表于 2016-1-29 22:26 | 显示全部楼层
liliang9554 发表于 2016-1-29 22:19
我能想到的办法就是“用指针跳转”了,实在不行就“C+汇编”混编吧。

这个用汇编吗
mmbs 发表于 2016-1-29 22:26 | 显示全部楼层
午夜粪车 发表于 2016-1-29 22:19
移位要比做除法的指令简单。

你这是说的汇编的语言吧。
pmp 发表于 2016-1-29 22:27 | 显示全部楼层
zhaoxqi 发表于 2016-1-29 22:19
现代的C都有“位移扩展指令”

直接移位计算就行了。
i1mcu 发表于 2016-1-29 22:27 | 显示全部楼层
多字节移位c语言可以解决。
cemaj 发表于 2016-1-29 22:27 | 显示全部楼层
汇编解决的更简单,效率高。
cemaj 发表于 2016-1-29 22:28 | 显示全部楼层
两者各有优势,还是使用一种,不容混淆。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部