我正在尝试向其他开发人员记录我是如何做某事的,除了准确解释我在每一步所做的事情之外,我正在努力减少解释。我在大学研究正式数据结构已经有几十年了,所以想知道是否有人可以帮助我正式解释它。这是长篇...
我通过无线电发送游戏手柄数据。这是低级电子设备(不是现有的主要游戏控制器),并且该框架只有一个接收事件,因此在一个数据包中发送所有操纵杆状态数据非常重要,这样就可以同时取消拾取。
我通过将多个二进制组件组合成一个数字来做到这一点:
- 前10位是x轴,0-1023
- 接下来的10位是y轴,0-1023
- 接下来的 4 位是 4 个按钮的状态,每个为 0 或 1。
例如:
(右下,按住两个按钮)1111111111100000000001010
在无线电级别,它只是一个位列表,但我如何将其解释为固定长度的部分是我要解释的部分。
阅读周围的内容告诉我这些被称为位字段。
有趣的是维基百科的示例包含游戏控制器的代码。表明我正在做的事情可能走在正确的道路上。它还表明 C 的结构本身就是位字段。