所以我有以下具有 5 个值的 Int 数组
int guess[5]= { 1 , 4 , 7 , 3 , 0 } // Testguess
我最终想要的是一个 uint16,或者实际上是 2 个 uint8 值,以二进制形式表示这些值。LSB(第 15 位)用于现在无关紧要的标志。最后,我想通过套接字传输此消息。
因此,对于上述值,我想得到以下消息:(我将用空格分隔不同的值以使其更清晰)
X 000 011 111 100 001
请注意,这些值是从右到左的。
X 是一个标志,基本上是所有位的异或,但我想我可以自己解决这个问题。
我对 C 很陌生,想知道以下任务的良好解决方案。
- 如何将 int Array 的值转换为二进制文件?
- 如何将这些二进制值写入 uint16?
- 如何将此结果 uint16 拆分为 2 个 uint8s?
我几乎没有找到解决这个问题的好方法。我正在考虑使用范围为 3 的移位进行写作,但我不确定如何获取这些二进制文件,也许是在做 & 0x2 之类的?
就像我说的那样,我对 C 语言还是很陌生,并且很高兴得到每一次帮助。