Dúvida

1. Dúvida

Nelson
Nelson_Nunes

(usa Slackware)

Enviado em 09/09/2015 - 16:42h

Gostaria que alguem me explique essa dúvida:

o maior numero primo possui 17 425 170 digitos e foi representado nesta formula M(57885161)

Como posso representar um valor desta magnitude em uma formula, me parecer potencias mas não tenho certeza.



  


2. Re: Dúvida

Paulo
paulo1205

(usa Ubuntu)

Enviado em 09/09/2015 - 17:18h

Nós temos dez algarismos, mas conseguimos escrever com eles qualquer número, por meio de uma convenção de que ao escrever um ao lado do outro, o que está mais à esquerda vale dez vezes mais do que o que está à sua direita.

Você pode representar um número grande como uma tripa de dígitos decimais. Mas pode usar também outros sistemas de numeração. Por exemplo, você pode colocar várias palavras de 64 bitas uma ao lado da outra, sendo que a que está mais à esquerda vale 2^64 vezes mais que a outra.

Existem bibliotecas prontas de representações de "big numbers". Uma que é de uso comum é a GNU MP (de multple precision), que inclui um módulo Bignum.


3. Re: Dúvida

Nelson
Nelson_Nunes

(usa Slackware)

Enviado em 09/09/2015 - 18:37h

Acho que não fui tão claro ao criar o post

A minha dúvida não é trabalhar com numeros gigantes
pra isso eu trabalho Lib GMP GNU.
Eu preciso de uma formula matemática que de para
representar um determinado valor gigantesco em uma forma menor
assim como foi representado o maior numero primo citado acima.

Me descupa se nao tenho sido claro anteriormente.kkkkk


4. Re: Dúvida

Paulo
paulo1205

(usa Ubuntu)

Enviado em 10/09/2015 - 00:31h

Você quer uma notação própria. Quer no código, ou quer que o usuário final do programa possa manipulá-la?

No código, se você estiver usando C++, minha sugestão seria criar um tipo novo (classe) para representar o seu símbolo, e providenciar para ele um operador de conversão de tipos para que a transformação no valor exato fosse feita somente no momento necessário.

Para o usuário, você teria de fazer um display e parser que entendesse sua sintaxe, soubesse convertê-la na representação interna mais adequada.


5. Re: Dúvida

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 10/09/2015 - 00:45h

Converte para hexadecimal ou cria outra base numérica. Arquimedes criou um sistema numérico de base 10000 para contar quantos grãos de areia havia no Universo, então você pode criar uma base numérica tal :-)
--
Luís Fernando Carvalho Cavalheiro
Public GPG signature: 0x246A590B
Só Slackware é GNU/Linux e Patrick Volkerding é o seu Profeta


6. Re: Dúvida

Nelson
Nelson_Nunes

(usa Slackware)

Enviado em 10/09/2015 - 16:36h

Estou vendo que a melhor opcao será trabalhar com notacões cientifica
e aplicar da melhor maneira Alguem pode me sugerir algum materia.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts