Fórum Variavel Array of Integer #409144

06/11/2011

0

Atualmente estava usando uma variavel array com elementos de 0 até 80000000 como integer:
variavel:array[0..80000000] to integer;

Para guarda 80000000 elementos, mais agora esse numero aumentou para 2147483647, tentei subistituir os 800000000 mais esta dando um erro:

Data type too large: exceeds 2 GB

Com ess erro percebi que o numero adicionado é superior ao suportado, tentei trocar integer para longint e deu o mesmo erro, existe alguma outra sulução?
Richard Alexander

Richard Alexander

Responder

Posts

06/11/2011

Richard Alexander

Problema Resolvido.

Na verdade o valor era 2147483648, subtrai 1 pra fica 2147483647 e ele aceitou, fiz uma pesquisada e vi que o longint aceita valores até 2147483647.
Responder

Gostei + 0

07/11/2011

Richard Alexander

Eu me enganei, continua dando o mesmo erro. :s
Responder

Gostei + 0

07/11/2011

Emerson Nascimento

o problema não é tipo que está sendo usado - vai dar o mesmo erro com string, byte, integer - e sim o tamanho do próprio array.

porque você precisa de um vetor com tantos elementos ?
Responder

Gostei + 0

07/11/2011

Richard Alexander

Estou mechendo com memoria, cada elemento array[0] por exemplo guardara um valor integer, acontece que são muito elementos e realmente queria uma solução.
Responder

Gostei + 0

07/11/2011

Carlos Júnior

Amigo, como disse o Emerson, acredito que não seja o tipo usado, mas mesmo assim, tenta criar um array de Cardinal que aceita até 4294967295.

Até+
Responder

Gostei + 0

07/11/2011

Carlos Júnior

Amigo, Testei com Cardinal, também não vai dar certo:

Achei esse exemplo:

type
EnormousArray = array [0..MaxLongint DIV 8] OF Longint;

DataPoints = ^DataPointDesc;
DataPointDesc = array [1..10000] of Extended;
BigRecord = record
points : DataPoints;
end;

var
data : array [0..500000] OF BigRecord;


Acredito que se você trabalhar com Record você vai conseguir fazer o que quer...

Espero ter ajudado.
Responder

Gostei + 0

07/11/2011

Richard Alexander

Testei com tudo, nada da certo kkk

Bom darei uma olhada nesse exemplo se der certo irei responder, senão vo te que quebrar em partes o numero.
Responder

Gostei + 0

07/11/2011

Emerson Nascimento

Estou mechendo com memoria, cada elemento array[0] por exemplo guardara um valor integer, acontece que são muito elementos e realmente queria uma solução.


mais de 2 BILHOES
Responder

Gostei + 0

07/11/2011

Emerson Nascimento

Estou mechendo com memoria, cada elemento array[0] por exemplo guardara um valor integer, acontece que são muito elementos e realmente queria uma solução.



mais de 2 BILHOES de elementos ?
Responder

Gostei + 0

08/11/2011

Richard Alexander

0 até 2.147.483.647, é o array ultrapasa 2 bilhões, mais alguma pergunta? meu scan de memoria scanea address por address, não sei usar a função Virtualqueryex.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar