微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 null/invalid/space 等价物存储为 <limit.h> INT_MIN 或 LONG_MIN

如何解决将 null/invalid/space 等价物存储为 <limit.h> INT_MIN 或 LONG_MIN

我有一个分组数据结构,可以聚合来自多个源的数据以进行重传。即使某些来源提供空数据或无效数据,我的完整数据包也必须定期发出。重要的是,这些值始终被视为无效,但仍然传输和存储。在这种情况下,正数、0 和负数都是具有特定含义的有效值。然而,由 2 的补码编码产生的奇怪的额外负值是相对无用的。

我的数据包的开头将传输 INT_MIN 和 LONG_MIN 来表征传输机器,然后使用这些值中的任何一个作为字段分隔符。分隔符,指示接近的、可预测长度的比特流的字长。有效比特流中任何位置的前面 MIN 值的存在表示流中特定偏移量处的单个无效/空值。

这似乎不是一个特别新颖的想法,但我不知道以前的实现。希望有人可以指导我找到一些搜索词、库或示例。 Arduino喜欢C/C++首选。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。