包含固定长度组件的二进制数据结构正式名称是什么?
游戏手柄无线电数据包结构正式说明
数据结构名称
你所实现的这种将多个固定长度二进制字段打包为单一连续比特流的结构,正式名称是位域(Bit Field),这类打包方式属于固定长度位打包(Fixed-Length Bit Packing),整体构成一个自定义的串行通信帧。
数据包格式正式定义
为适配无线电传输框架的单事件接收限制,将游戏手柄状态数据整合为24比特的单一数据包,各字段按固定位置分配比特位:
- X轴摇杆数据:数据包前10比特,无符号整数,取值范围
0-1023,对应摇杆水平方向位置 - Y轴摇杆数据:紧随X轴数据的10比特,无符号整数,取值范围
0-1023,对应摇杆垂直方向位置 - 按键状态位:数据包最后4比特,每1比特对应一个按键的通断状态(
1表示按下,0表示释放),比特位顺序对应预设的4个按键
示例解析
给定比特流:111111111111111111110101(24比特,对应摇杆右下位置、两个按键按住)
- 前10比特
1111111111→ X轴值1023(摇杆最右) - 中间10比特
1111111111→ Y轴值1023(摇杆最下) - 最后4比特
0101→ 第2、4位按键处于按下状态
内容的提问来源于stack exchange,提问作者Oli
相关产品推荐
相关产品推荐

