打印
[STM32F1]

怎么样进行移位

[复制链接]
1151|42
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongche|  楼主 | 2021-11-13 20:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是比如一次性移位11个字节,比如左移,将最高字节的最高位移出丢失,并将下一字节的最高位移进前一字节的最低位,如此进行将后10个字节的最高位分别移进其前一字节的最低位,最后一个字节的最低位补0(或补1)。右移反过来。

使用特权

评论回复
沙发
liliang9554| | 2021-11-13 20:21 | 只看该作者
逻辑运算操作嘛,可以写个函数实现。

使用特权

评论回复
板凳
kangzj| | 2021-11-13 20:29 | 只看该作者

另外不知道移位指令能否直接操作16BIT的字操作,如果可以,那也不是难题了,直接一个移位指令就行了。x<<11

使用特权

评论回复
地板
stly| | 2021-11-13 20:31 | 只看该作者
另外你说的也应该不是字节,应该是BIT,位,一个字是16BIT,一个字节是8BIT。你是这个意思吧。

使用特权

评论回复
5
dingy| | 2021-11-13 20:33 | 只看该作者
移动11个Bit和移动11个Byte不一样呀!移动11个Byte有意义吗?

使用特权

评论回复
6
zwll| | 2021-11-13 20:35 | 只看该作者
就是简单的字节移位。

使用特权

评论回复
7
llljh| | 2021-11-13 20:37 | 只看该作者
定义一个多少位的字符串呢

使用特权

评论回复
8
dingy| | 2021-11-13 20:40 | 只看该作者
先移位8位,然后补充新的 字节。

使用特权

评论回复
9
llljh| | 2021-11-13 20:43 | 只看该作者
字节移位指令的最大移位位数为8位

使用特权

评论回复
10
xxrs| | 2021-11-13 20:45 | 只看该作者
如果是32位的,比如int t = 0x00000001;(这里的int是32位系统的int,即一个字的长度---32位)

使用特权

评论回复
11
liuzaiy| | 2021-11-13 20:46 | 只看该作者
nt类型数值实际移位的次数是和32的余数

使用特权

评论回复
12
llljh| | 2021-11-13 20:48 | 只看该作者
需要移位的数字<<移位的次数;

使用特权

评论回复
13
houcs| | 2021-11-13 20:49 | 只看该作者
用位操作

使用特权

评论回复
14
wyjie| | 2021-11-13 20:52 | 只看该作者
数组(连续字节)的循环移位

使用特权

评论回复
15
juventus9554| | 2021-11-13 20:54 | 只看该作者
只需要额外的1个单位空间即可

使用特权

评论回复
16
houcs| | 2021-11-13 20:56 | 只看该作者
你说的是汇编么?

使用特权

评论回复
17
morrisk| | 2021-11-13 21:04 | 只看该作者
将低字节进行或运算。

使用特权

评论回复
18
houcs| | 2021-11-13 21:07 | 只看该作者
32位的吗?

使用特权

评论回复
19
huangchui| | 2021-11-13 21:09 | 只看该作者
你需要几个字符的移位计算呢

使用特权

评论回复
20
happy_10| | 2021-11-13 21:11 | 只看该作者
可以将要移动的数组num想象成一个长为n的环

使用特权

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

本版积分规则

768

主题

9410

帖子

2

粉丝