Для "8-битных" квадратных сигналов можно ещё всё извратить и каждый бит обсчитывать отдельно (для каждого слова, для каждого бита, если бит единичный, то добавляем в сумму, иначе нет) -- чтоб не умножать. Но тут от входных данных и процессора сильно зависит. Выигрыш можно получить только при очень специфических условиях.