AcoustID.Util.BitStringWriter.Write C# (CSharp) Method

Write() public method

public Write ( uint x, int bits ) : void
x uint
bits int
return void
        public void Write(uint x, int bits)
        {
            m_buffer |= (x << m_buffer_size);
            m_buffer_size += bits;
            while (m_buffer_size >= 8)
            {
                m_value.Add((byte)(m_buffer & 255));
                m_buffer >>= 8;
                m_buffer_size -= 8;
            }
        }

Usage Example

        public void TestTwoBytesSplit()
        {
            BitStringWriter writer = new BitStringWriter();
            writer.Write(0, 3);
            writer.Write(1, 3);
            writer.Write(2, 3);
            writer.Write(3, 3);
            writer.Flush();

            byte[] expected = { unchecked((byte)-120), unchecked((byte)6) };
            byte[] actual = Base64.ByteEncoding.GetBytes(writer.Value);

            CollectionAssert.AreEqual(actual, expected);
        }
All Usage Examples Of AcoustID.Util.BitStringWriter::Write