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

Re: [obm-l] Convers�o de N�meros em Base Negativa



N�o entendi a generaliza��o. Seja o exemplo -123456789(10) para base -7. A resposta � 3031330536(-7).

Seguindo a forma que voc� fez para a base -2 daria o mesmo resultado? Como resolver este exemplo?

On 4/18/07, Ricardo Bittencourt <ricbit@700km.com.br> wrote:
Henrique Renn� wrote:
> Ol� Ricardo!
> Por acaso voc� � o ricbitbr no TopCoder???
Sou eu sim, sempre que d� eu fa�o uns SRMs por l�.

> Ainda estou em d�vida com rela��o a esse problema. Suponha a seguinte
> convers�o:
>
> 1001(10) = n(-2)
>
> ou seja, passar o n�mero 1001 na base 10 para n na base -2. (resposta:
> n = 10000111001)
>
> Qual seria o procedimento para efetuar essa convers�o???

Converter de decimal pra bin�rio voc� sabe n�? Se for �mpar, subtrai 1 e
divide por 2; se for par, divide por 2; repete at� chegar em zero. Com
base -2 � exatamente a mesma coisa, s� que voc� divide por -2:

1001 (1)
1001-1=1000/-2=-500
-500 (0)
-500/-2=250
250 (0)
250/-2=-125
-125 (1)
-125-1=-126/-2=63
63 (1)
63-1=62/-2=-31
-31 (1)
-31-1=-32/-2=16
16 (0)
16/-2=-8
-8 (0)
-8/-2=4
4 (0)
4/-2=-2
-2 (0)
-2/-2 =1
1 (1)
1-1 =0

Lendo os restos de tr�s para frente, 10000111001. Agora � s� generalizar
para outras bases (negativas ou complexas).

--
Ricardo Bittencourt
=========================================================================
Instru��es para entrar na lista, sair da lista e usar a lista em
http://www.mat.puc-rio.br/~nicolau/olimp/obm-l.html
=========================================================================



--
Henrique