더북(TheBook)

비트를 스트림에 기록하는 내부 작업은 WriteBits(uint8_t inData, size_t inBitCount)에서 담당하는데, 바이트 하나를 매개변수로 받아 지정된 비트 수만큼 비트를 추출하여 스트림에 기록한다. 동작 원리를 이해하기 위해 다음 코드가 실행될 때를 가정해 보자.

OutputMemoryBitStream mbs;

mbs.WriteBits(13, 5);
mbs.WriteBits(52, 6);

이렇게 하면 숫자 13을 5비트 기록한 뒤, 숫자 52의 6비트를 기록한다. 그림 4-3에 이 숫자를 각각 이진수 형태로 그려보았다.

▲ 그림 4-3 13과 52의 이진수 표현

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.