发新帖我要提问
12
返回列表
打印

多字节的移位

[复制链接]
楼主: jiajs
手机看帖
扫描二维码
随时随地手机跟帖
21
lzbf| | 2016-1-29 22:23 | 只看该作者 回帖奖励 |倒序浏览
wyjie 发表于 2016-1-29 22:17
后10个字节的最高位分别移进其前一字节的最低位?我怎么没明白

先读取低位的

使用特权

评论回复
22
mmbs| | 2016-1-29 22:23 | 只看该作者
shimx 发表于 2016-1-29 22:18
这是 51 吗?

其实也不麻烦

单片机都有寄存器的。

使用特权

评论回复
23
pmp| | 2016-1-29 22:24 | 只看该作者
jiajs 发表于 2016-1-29 22:17
汇编的时候有RRL,RRC就搞定了,C怎么弄啊?

c就是>> 就行了。

使用特权

评论回复
24
i1mcu| | 2016-1-29 22:24 | 只看该作者
cemaj 发表于 2016-1-29 22:22
可以使用数组转换

这个还可以通过寄存器的标志。

使用特权

评论回复
25
cemaj| | 2016-1-29 22:24 | 只看该作者
楼主还有其他要求吗

使用特权

评论回复
26
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 ...

这个就可以,实现不难,数据一位。

使用特权

评论回复
27
pmp| | 2016-1-29 22:24 | 只看该作者
或者转换多字节,然后移位。

使用特权

评论回复
28
i1mcu| | 2016-1-29 22:25 | 只看该作者
得看转换效率也很重要的。

使用特权

评论回复
29
cemaj| | 2016-1-29 22:25 | 只看该作者
你的程序要哪一种?

使用特权

评论回复
30
mmbs| | 2016-1-29 22:25 | 只看该作者
shimx 发表于 2016-1-29 22:18
这是 51 吗?

其实也不麻烦

这是汇编的,不是c的

使用特权

评论回复
31
lzbf| | 2016-1-29 22:25 | 只看该作者

AVR的设计吗

使用特权

评论回复
32
lzbf| | 2016-1-29 22:26 | 只看该作者
字节的移位解决了吗

使用特权

评论回复
33
mmbs| | 2016-1-29 22:26 | 只看该作者
liliang9554 发表于 2016-1-29 22:19
我能想到的办法就是“用指针跳转”了,实在不行就“C+汇编”混编吧。

这个用汇编吗

使用特权

评论回复
34
mmbs| | 2016-1-29 22:26 | 只看该作者
午夜粪车 发表于 2016-1-29 22:19
移位要比做除法的指令简单。

你这是说的汇编的语言吧。

使用特权

评论回复
35
pmp| | 2016-1-29 22:27 | 只看该作者
zhaoxqi 发表于 2016-1-29 22:19
现代的C都有“位移扩展指令”

直接移位计算就行了。

使用特权

评论回复
36
i1mcu| | 2016-1-29 22:27 | 只看该作者
多字节移位c语言可以解决。

使用特权

评论回复
37
cemaj| | 2016-1-29 22:27 | 只看该作者
汇编解决的更简单,效率高。

使用特权

评论回复
38
cemaj| | 2016-1-29 22:28 | 只看该作者
两者各有优势,还是使用一种,不容混淆。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则