如何在字节数组中搜索"n位"?

Zhe*_*ren 3 c c++

我有一个字节数组.现在我需要知道长度为N的位模式的出现次数.

例如,我的字节数组是"00100100 10010010",模式是"001".这里N = 3,计数为5.

处理比特总是我的弱点.

Pet*_*erK 7

你总是可以对前N位进行异或,如果你得到0,那么你就得到了一个匹配.然后将搜索到的位"流"向左移一位并重复.假设您希望在这些子模式重叠时获得匹配.否则你应该在匹配时按模式长度移动.