[应用相关] 怎么样进行移位

[复制链接]
2523|35
 楼主| feiqi1 发表于 2018-5-13 22:44 | 显示全部楼层 |阅读模式
就是比如一次性移位11个字节,比如左移,将最高字节的最高位移出丢失,并将下一字节的最高位移进前一字节的最低位,如此进行将后10个字节的最高位分别移进其前一字节的最低位,最后一个字节的最低位补0(或补1)。右移反过来。
dongnanxibei 发表于 2018-5-13 22:56 | 显示全部楼层
逻辑运算操作嘛,可以写个函数实现。
dongnanxibei 发表于 2018-5-13 22:57 | 显示全部楼层
另外不知道移位指令能否直接操作16BIT的字操作,如果可以,那也不是难题了,直接一个移位指令就行了。x<<11
dongnanxibei 发表于 2018-5-13 22:58 | 显示全部楼层
另外你说的也应该不是字节,应该是BIT,位,一个字是16BIT,一个字节是8BIT。你是这个意思吧。
sky.sun.zz 发表于 2018-5-14 11:57 | 显示全部楼层
移动11个Bit和移动11个Byte不一样呀!移动11个Byte有意义吗?
suzhanhua 发表于 2018-5-14 16:25 | 显示全部楼层
就是简单的字节移位。
mituzu 发表于 2018-5-14 16:26 | 显示全部楼层
定义一个多少位的字符串呢
hellosdc 发表于 2018-5-14 16:26 | 显示全部楼层
先移位8位,然后补充新的 字节。
uiint 发表于 2018-5-14 16:27 | 显示全部楼层
字节移位指令的最大移位位数为8位
51xlf 发表于 2018-5-14 16:27 | 显示全部楼层
如果是32位的,比如int t = 0x00000001;(这里的int是32位系统的int,即一个字的长度---32位)
i1mcu 发表于 2018-5-14 16:27 | 显示全部楼层
nt类型数值实际移位的次数是和32的余数
pmp 发表于 2018-5-14 16:28 | 显示全部楼层
需要移位的数字<<移位的次数;
mmbs 发表于 2018-5-14 16:28 | 显示全部楼层
用位操作
1988020566 发表于 2018-5-14 16:29 | 显示全部楼层
数组(连续字节)的循环移位
lzbf 发表于 2018-5-14 16:30 | 显示全部楼层
只需要额外的1个单位空间即可
uiint 发表于 2018-5-14 16:30 | 显示全部楼层
你说的是汇编么?
hellosdc 发表于 2018-5-14 16:30 | 显示全部楼层
将低字节进行或运算。
mituzu 发表于 2018-5-14 16:30 | 显示全部楼层
32位的吗?
suzhanhua 发表于 2018-5-14 16:30 | 显示全部楼层
你需要几个字符的移位计算呢
1988020566 发表于 2018-5-14 16:30 | 显示全部楼层
可以将要移动的数组num想象成一个长为n的环
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

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