Fórum Como trabalhar com inteiros grandes? #254765
17/10/2004
0
Edilcimar
Curtir tópico
+ 0Posts
17/10/2004
Ricardo.vano
Você tentou usar LongInt ?
Gostei + 0
17/10/2004
Fórum Vini
O tipo LongInt é de 32bits, ele precisa de muito mais que isso :lol:
Você pode declarar seu próprio tipo Int128:
type Int128 = $00000000000000..$FFFFFFFFFFFFFF;
Depois crie suas variáveis normalmente:
var I: Int128;
Para o Int256 não sei como você pode fazer, pois o Delphi não aceita tipos com 8 bytes.. Também não sei como ficará o desempenho do tipo Int128, talvez fique muito lento.. :roll:
Eu sabia de um site que abordava inteiros de 128bits, vou ver se acho ele nos meus guardados e te falo :wink:
Espero ter ajudado,
Vinicius;
Gostei + 0
17/10/2004
Emerson Nascimento
Gostei + 0
17/10/2004
Afarias
type Int128 = $00000000000000..$FFFFFFFFFFFFFF;
1) $FFFFFFFFFFFFFF não representa de forma alguma um inteiro de 128bits, na verdade, é ainda menor q um inteiro do 64bits
2) é ´impossível´ representar ou manipular inteiros maiores de 64bits na arquitetura atual dos PCs (x86) -- isso não é uma limitação do Delphi, apenas dos processadores domésticos atuais
bom, se vc precisa realmente de inteiros maiores q 64bits terá de partir para outras soluções, exemplo::
definir um Int128 como um array de 4 possições contendo inteiros de 32 bits (4x32=128), mas ai vc terá de definir tb as operações como soma, multiplicação, etc...
T+
Gostei + 0
17/10/2004
Edilcimar
2)SE não dá para utilizar, como é que tem gente utilizando?
Gostei + 0
17/10/2004
Afarias
com soluções como a mostrada no Artigo sugerido pelo emerson.en
T+
Gostei + 0
17/10/2004
Edilcimar
Gostei + 0
17/10/2004
Gandalf.nho
Gostei + 0
17/10/2004
Edilcimar
Gostei + 0
17/10/2004
Fórum Vini
:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:
Putz, falei bobagem nessa né? :roll:
Na verdade eu pensei em 2^7 mas acabei criando foi uma combinação de 2^( 7*8 ) bits..foi isso?
O inteiro de 128 bits seria então 2^128 combinações diferentes de bits? :shock:
Corrigindo então:
type Int56 = $00000000000000..$FFFFFFFFFFFFFF
:lol: :oops:
Desculpa pelo fora, só tentei ajudar :roll: :roll:
Gostei + 0
18/10/2004
Afarias
|tipo de cálculo com um micro
por curiosidade,
qual seu computador e como está calculando?
o que exatamente vc deseja?
que pessoas são essas?
e, ´elas´ fazem esses famigerados cálculos com 1 micro 32bits doméstico é? não é processamento distribuido?
T+
Gostei + 0
21/10/2004
Edilcimar
Gostei + 0
21/10/2004
Bruno Belchior
Gostei + 0
21/10/2004
Paulo_amorim
Há, sim, pessoas calculando números primos maiores que 10^100, mas normalmente isso eh feito em supercomputadores ou, como agora está mais comum, fazem uso de vários computadores domésticos, formando uma rede de processamento (como disse o afarias, processamento distribuido)
Fazer isso em um só PC, ainda mais um que você está usando, eh muito difícil que se faça em menos de 1 dia
Até+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)