[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Duvida



Andrea Suman writes:
 > >como faço, no caso, para que, tendo por exemplo:
 > >a=1
 > >b=0
 > >c=0
 > >d=1
 > >e=0
 > >f=1
 > >g=0
 > >h=0
 > >juntar tudo em 10010100  e escrever 148 (pois 148 = 10010100 (base Bom 
 > ja to te dando varias dicas e ai vai mais uma (lembre que essa tetras 
 > foram inicializadas com zero:
 > 1) a<<7 :empurrra o a 7 casas a esquerda = 10000000
 > 2) b<<6 :empurrra o b 6 casas a esquerda = 00000000
 > 3) c<<5 :empurrra o c 5 casas a esquerda = 00000000
 > 4) d<<4 :empurrra o d 4 casas a esquerda = 00010000
 > 5) e<<3 :empurrra o e 3 casas a esquerda = 00000000
 > 6)...
 > 7)agora se vc fizer a|b (a ou b)  (1 ou 0=1    1 ou 1=1    0 ou 0=0)
 > a|b==10000000, a|d==10010000
 > 8)Sugestao para desmembrar um numero :
 >    1)se vc fizer o (a>>7)&01(vc empurrou o a para direita 7 vezes e  
 > comparou com o 00000001  (representado pelo 01) (lembre que 0 e 1=0
 > 0 e 0=0 1 e 1=1)
 >     2)Pense no a|d=10010000 depois de vc ja ter extraido os ters 
 > primeiros caracters entao vc faz (a|d)>>4)=00001001 mas vc so quer o 
 > ultimo um entao fazendo ((a|d)>>4)&01)=00001001&00000001=00000001.Que é 
 > o numero desejado.

Nao conferi os detalhes, mas acho que esta explicacao está ótima, obrigado.
Lembre-se de que voce pode sempre rodar o escreva_bits e leia_bits passo a
passo para ver como a coisa está funcionando.  Yoshi

 > Nao pensa que eu sabia isso eu tambem tive que perguntar a quem sabia, 
 > pois o prof nao explicou isso direito e para quem nao tinha nocao como 
 > eu , so perguntando pra entender.
 > 
 > Boa Sorte!
 > Andrea
 > 2))
 > >-----Mensagem original-----
 > >De: Yoshiharu Kohayakawa <yoshi@ime.usp.br>
 > >Para: Andrea Suman <deinha16@hotmail.com>
 > >Cc: yoshi-mac122@ime.usp.br <yoshi-mac122@ime.usp.br>
 > >Data: Quinta-feira, 10 de Dezembro de 1998 08:24
 > >Assunto: RE: Duvida
 > >
 > >>Andrea Suman writes:
 > >> > Desculpa insistir na minha duvida mas :
 > >> > 1)devo agrupar 8 a 8 o's e 1's e imprimir o caracter que esse
 > >> > agrupamento representa, ou
 > >> > 2)devo imprimir os 0's e 1's
 > >> >
 > >> > Por favor Yoshi diga se é 1 ou 2 pois nao sei qual devo entregar.
 > >>
 > >>Achei que tinha respondido... mas aqui vai: entregue a versao que faz 
 > (1)
 > >>(esta é a que eu tinha na cabeca, usando o fwrite(), etc).  Nao tem
 > >problema
 > >>voce entregar a outra versao tambem, desde que claramente explicado 
 > para o
 > >>monitor.  Yoshi
 > >>
 > >> > Se ambos estiverem errados me explique, melhor nao achei que esta 
 > claro.
 > >> > Obrigada Andrea
 > >> >
 > >> > ______________________________________________________
 > >> > Get Your Private, Free Email at http://www.hotmail.com
 > ______________________________________________________
 > Get Your Private, Free Email at http://www.hotmail.com