如何将短整数视为C中的元素数组?

时间:2015-11-12 20:47:25

标签: c arrays byte

所以我有一个整数存储为short。让我们说:

short i = 3000;

二进制是:

0011 0000 0000 0000

我被告知我可以将它视为两个元素的数组,其中每个元素基本上都是一个字节,所以:

i[0] = 0011 0000
i[1] = 0000 0000

我该如何做到这一点?

1 个答案:

答案 0 :(得分:4)

你可以这样做(假设short是2个字节)

short i = 3000; // 3000 in Binary is: 00001011 10111000
unsigned char x[2] = {0};
memcpy(x, &i, 2);

如果此代码在小端机器上运行,则x[0]将为10111000和x[1] 00001011。并且在大端机器的情况下反向将成立。

顺便说一下。你的二进制表示3000看起来不对