Можете ли вы сказать что-нибудь о смежных байтовых значениях, которые представляют пустую пару?
Я хочу предложить смотреть на байты, а не на биты.
Любой данный байт, если он является левым вкладчиком пары пустых 6-битовых символов, должен соответствовать конкретной битовой маске, значение которой зависит от его положения. ?? ?? 00 00 или ?? 00 00 00 или что-то еще. Вы можете рассматривать каждый байт по очереди для их кандидатуры как самый левый байт. Возможна простая таблица поиска, какую маску использовать.
Следовательно, нам на самом деле не нужно извлекать 6-битные символы перед их рассмотрением.
Можем ли мы добиться большего успеха, отбросив байт в качестве кандидата, можем ли мы теперь пропустить один слева?
В случае, если наша маска была 00 00 00 00, если это не удалось, тогда наш сосед слева, да, если установлен первый бит.
Это на самом деле делает вещи быстрее?