Funkci pro dekódování jednoho symbolu mám takto:
int JKvideocodec::decode_symbol(int M, int K)
{
int num = 0, remain = 0;
while (next_bit()) // Cislo
num += M;
for (int i = 0; i < K; i++) // Zbytek
remain = remain << 1 | next_bit();
return num + remain; // Vrati soucet
}
U tvého návrhu si nejsem jistý tím for cyklem. Má se načíst K bitů, které představují zbytek.M a K musím předávat, protože mohou být u každého symbolu jiné.