一个数组里某个元素移位操作是否会把其他下标的元素数据移进来?

2019-12-11 18:13发布

不知道标题里面说清楚了没有,比如说三个元素的数组,{0x01, 0x08, 0x80}

对中间那个元素进行左移一位的操作,它会不会变成0x11?

另外其它的两个元素会不会受到波及,值也被改变?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
peteryzm
1楼-- · 2019-12-12 16:56
Absolutely not
styleno1
2楼-- · 2019-12-12 22:32
不会,不过实现你要的这个效果。
costpope
3楼-- · 2019-12-13 03:31
 精彩回答 2  元偷偷看……
菜包
4楼-- · 2019-12-13 03:50
这个问题,自己测试一下不就清楚了么
鲜衣怒马
5楼-- · 2019-12-13 06:15
costpope 发表于 2019-10-22 17:29
我之所以这么问是看到有人用数组移位的方法弄出了一个FIFO,我觉得很奇怪,代码没细看。 ...


uint8_t tmp[8];

(*(* uint64_t)tmp)>>3;

这样估计能实现数组移位,但是数组元素个数不是任意的
Alimy
6楼-- · 2019-12-13 10:00
本帖最后由 Alimy 于 2019-10-24 17:16 编辑

同楼上,可以尝试用联合体的方式移位,不过数组长度最多只能8个字节.

一周热门 更多>