А разве это
long Filter(long x)
{
ststic long out;
out=out - ((out*20)>>10) + x;
return (out*20)>>10;
}
и
То есть нужно добавить справа к значению фильтра нужное число дробных разрядов и каждое новое входное значение левым сдвигом делать фикспойнтом. При выводе значения фильтра наружу восстанавливать целочисленную разрядность правым сдвигом.
не одно и тоже?!