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

2019-12-11 18:13发布

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

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

另外其它的两个元素会不会受到波及,值也被改变?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
Alimy
1楼-- · 2019-12-13 10:13
本帖最后由 Alimy 于 2019-10-24 17:16 编辑

typedef union _tag_test
{
   unsigned long long ll;
   uint8_t arr[8];
}test_t;

test_t test_u;

test_u.arr[0] = 0x01;
test_u.arr[1] = 0x02;
test_u.arr[2] = 0x03;
test_u.arr[3] = 0x04;
test_u.arr[4] = 0x05;
test_u.arr[5] = 0x06;
test_u.arr[6] = 0x07;
test_u.arr[7] = 0x08;

test_u.ll >>= 1;

然后打印出来看看就可以了.

--------------------------------
看错题目了,不会。移出来的位会有专门的寄存器保存。







一周热门 更多>