private void UpdatePointer(int bitsToMoveBack) { if (bitsToMoveBack > 8) { bytePointer -= bitsToMoveBack / 8; bitsToMoveBack %= 8; } int i = bitPointer - bitsToMoveBack; if (i < 0) { bytePointer--; bitPointer = 8 + i; } else { bitPointer = i; } }