我正在开发一个项目,我需要在网络连接上写入位数组。要写入的数据是32位对齐的,即所有数据都是32位的倍数。我的第一个想法是使用Bitvector32创建32位字,然后在这些位向量中创建部分以引用我的数据。我的数据中有3或6位的字段,因此所有数据字段都不是字节对齐的。
msdn上的BitVector32:
http://msdn.microsoft.com/en-us/library/system.collections.specialized.bitvector32.aspx
这一切似乎都很好,但是当我创建一个16位(2字节)的部分时会出现问题。
API具有:CreateSection(Int16),其中参数是该部分要保留的最大数字。因为我应该将一个带符号的16位int传递给它,所以我能传递的最大数字是0x7FFF。为了表示这一点,我们需要...... 15位。因此,使用API,我无法创建BitVector32的16位部分。
或者我可以吗?