Ашипка . . .
пример для ограничения на 4 точки:
строка >0001011100001111< 16 бит,
сначала >0000000000001111<, импульс печати -> (LF не даешь)->
потом >0001011100000000< -> импульс печати -> LF
+
Подсчёт количества ненулевых бит в числе v за log2(v) проходов
На примере 8-битного числа:
v = (v & 0x55) + ((v >> 1) & 0x55);
v = (v & 0x33) + ((v >> 2) & 0x33);
return (v & 0x0f) + ((v >> 4) & 0x0f);