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++)
{