[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: escreva-bits
Alexandre Freire wrote:
>
> a meu ver o escreva bits só escreve a paridade da sequencia de inteiros em
> um arquivo (talvez nao seja isso mas nao consegui entender o
> programa....), alguem pode me explicar como funciona o escreva_bits, e
> também como posso adápta-lo ao meu ep4?
> valeu!
> @lex
>
> Alexandre Freire <alex@linux.ime.usp.br>
Alexandre,
Eu fiz assim:
Guardei todos os bits que serão gerados no trecho
for (j=0; j<n_chars; j++)
for (i=len[texto[j]]; i>0; i--) {
printf("%1d", (code[texto[j]]>>(i-1))&01);
n_bits++;
}
dentro de um vetor chamado guarda_bits[]. Logo, neste, vetor, teremos
todos os bits utilizados no processo de codificacao... Para armazena-lo
no arquivo compactado eu utilizei aquele trecho misterioso do
escreva_bits:
>j=i=-1;
>for (k=0; k<n_bits; k++) {
> if ((++j)%8==0) i++,j=0;
> w[i]|=(v[k]&01)<<(7-j);
>
so que, neste trecho, eu usei o vetor guarda_bits no lugar do vetor
v!!!!!!!!!!!!!!!!!!!
Depois, foi so armazenar o vetor w no arquivo compactado utilizando o
fwrite da mesma forma que o comando e utilizado no escreva_bits...
Eu fiz assim e funcionou... Espero que isso o ajude!!
Falou!!!!