如果我有一个短无符号整数数组。
将array[k+1]左移8位,将8位放入array[k+1]的下半部分吗?
或者它们只是因为超出了为元素分配的空间而消失了?
最佳答案
他们下车了。您不能以这种方式影响其他位。试一试:
#include <stdio.h>
void print_a (short * a)
{
int i;
for (i = 0; i < 3; i++)
printf ("%d:%X\n", i, a[i]);
}
int main ()
{
short a[3] = {1, -1, 3};
print_a (a);
a[1] <<= 8;
print_a (a);
return 0;
}
输出是
0:1 1:FFFFFFFF 2:3 0:1 1:FFFFFF00 2:3
关于C unsigned int 数组和位移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1778478/