public class BitWriter
{
private byte[] m_data = null;
private int m_dataLen = 0;
private int m_pos = 0;
private BitArray bit_data = null;
public BitWriter(int len)
{
m_dataLen = len;
m_data = new byte[len];
Array.Clear(m_data, 0, len);
bit_data = new BitArray(len * 8);
}
public void Write(int data, int size)
{
//将传入数据转换成二进制位
int[] value = new int[1] { data };
BitArray bit_temp = new BitArray(value);
for (int i = 0; i < size; i++)
{
bit_data[m_pos + i] = bit_temp[size - i - 1];
}
m_pos += size;
}
public byte[] GetData()
{
for (int i = 0, y = 0; i < bit_data.Length / 8; i++)
{
C# 将bit位数据拼装为byte
最新推荐文章于 2024-07-09 21:52:34 发布
该博客介绍了一个C#类`BitWriter`,用于将整数数据按位拆分并存储到字节数组中。`Write`方法接受一个整数和位数,将数据转换为二进制位并填充到`BitArray`中。`GetData`方法遍历`BitArray`,将位数据重组回字节并返回结果数组。
摘要由CSDN通过智能技术生成