Inserting into a bitstream

Posted by evilertoaster on Stack Overflow See other posts from Stack Overflow or by evilertoaster
Published on 2010-04-13T23:42:51Z Indexed on 2010/04/13 23:53 UTC
Read the original article Hit count: 262

Filed under:
|
|

I'm looking for a way to efficiently insert bits into a bitstream and have it 'overflow', padding with 0's.

So for example if you had a byte array with 2 bytes: 231 and 109 (11100111 01101101), and did BitInsert(byteArray,4,00) it would insert two bits at bit offset 4 making 11100001 11011011 01000000 (225,219,24). It would be ok even the method only allowed 1 bit insertions e.g. BitInsert(byteArray,4,true) or BitInsert(byteArray,4,false).

I have one method of doing it, but it has to walk the stream with a bitmask bit by bit, so I'm wondering if there's a simpler approach...

Answers in assembly or a C derivative would be appreciated.

© Stack Overflow or respective owner

Related posts about c

    Related posts about c++