打印
[应用相关]

怎么样进行移位

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

使用特权

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

使用特权

评论回复
板凳
kangzj| | 2019-11-10 21:49 | 只看该作者
另外不知道移位指令能否直接操作16BIT的字操作,如果可以,那也不是难题了,直接一个移位指令就行了。x<<11

使用特权

评论回复
地板
zwll| | 2019-11-10 22:09 | 只看该作者
另外你说的也应该不是字节,应该是BIT,位,一个字是16BIT,一个字节是8BIT。你是这个意思吧。

使用特权

评论回复
5
chuxh| | 2019-11-10 22:12 | 只看该作者
移动11个Bit和移动11个Byte不一样呀!移动11个Byte有意义吗?

使用特权

评论回复
6
zwll| | 2019-11-10 22:41 | 只看该作者

就是简单的字节移位。

使用特权

评论回复
7
llljh| | 2019-11-10 22:48 | 只看该作者
定义一个多少位的字符串呢

使用特权

评论回复
8
dingy| | 2019-11-10 22:52 | 只看该作者
先移位8位,然后补充新的 字节。

使用特权

评论回复
9
supernan| | 2019-11-10 22:58 | 只看该作者

字节移位指令的最大移位位数为8位

使用特权

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

使用特权

评论回复
11
liuzaiy| | 2019-11-10 23:10 | 只看该作者

nt类型数值实际移位的次数是和32的余数

使用特权

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

使用特权

评论回复
13
houcs| | 2019-11-10 23:17 | 只看该作者
用位操作

使用特权

评论回复
14
pengf| | 2019-11-10 23:20 | 只看该作者
数组(连续字节)的循环移位

使用特权

评论回复
15
pangb| | 2019-11-10 23:23 | 只看该作者
只需要额外的1个单位空间即可

使用特权

评论回复
16
houcs| | 2019-11-10 23:25 | 只看该作者
你说的是汇编么?

使用特权

评论回复
17
morrisk| | 2019-11-10 23:30 | 只看该作者
将低字节进行或运算。

使用特权

评论回复
18
houcs| | 2019-11-10 23:33 | 只看该作者
32位的吗?

使用特权

评论回复
19
zyf部长| | 2019-11-10 23:36 | 只看该作者
你需要几个字符的移位计算呢

使用特权

评论回复
20
houcs| | 2019-11-10 23:41 | 只看该作者

可以将要移动的数组num想象成一个长为n的环

使用特权

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

本版积分规则

768

主题

9410

帖子

2

粉丝