我的应用程序从硬件接收32位字。
第一个字节表示数据类型,其余3个字节是数据(24个硬判决位)
应用程序需要缓冲数据位,直到有足够的数量可供处理。进一步处理需要30位。
因此,一旦收到第二个字,应用程序将有第一个数据包的30位和第二个数据包的18位。
我的问题是如何最好地缓冲和输出fifo中的位。这些位还需要打包成32位字
我尝试使用流和bitset无济于事。我还没有尝试过位移,因为我希望能找到一些更优雅的东西。并学习一些东西!
任何C ++建议?
编辑 - 希望这会让事情变得更清晰......理想情况下我想将我收到的3个字节读入流中。一旦该流有30位或更多位,我就想读出那些30位。剩余的位将保留,直到还有另外30位可用。基本上我想要一个FIFO,我可以写入并从中读取位。