4 ms·
Looks like the bytes shall not be reversed beforehand. Bits are easier to extract at the lower end. For example, let's take the first byte as an example, 010010
by pajko 5y ago
Looks like the bytes shall not be reversed beforehand. Bits are easier to extract at the lower end. For example, let's take the first byte as an example, 01001011. The first field is one bit wide, indicating the final record of the stream, 01001011 & 1 = '1'. Remove the extracted bit by shifting, 0100101 remains. The next field is two bits wide, so extract those: 0100101 & 11 = '01' and remove the bits giving 01001. And so on...
- lifthrasiir 5y agoNot so much. There are several degrees of freedom in this design, see ryg's Reading bits in far too many ways [1] for the introduction. [1] https://fgiesen.wordpress.com/2018/02/19/reading-bits-in-far-too-many-ways-part-1/ https://fgiesen.wordpress.com/2018/02/19/reading-bits-in-far...