[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!!!!