所以我有一个整数存储为short。让我们说:
short i = 3000;
二进制是:
0011 0000 0000 0000
我被告知我可以将它视为两个元素的数组,其中每个元素基本上都是一个字节,所以:
i[0] = 0011 0000
i[1] = 0000 0000
我该如何做到这一点?
答案 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看起来不对