You might have to manufacture your own class of number, HugeInteger or something - not sure how I'd go about this, but it might be stored as an array of chars. Floating point numbers like floats and doubles can be innaccurate when they either have to store very large or very small numbers in a precise manner - which wont help in this problem.
You were right first time with the BigInteger. Allocating a large array got a near 600 bit record size is of course going to simply going to up a fair amount of memory.
The alternative is to store the numbers in memory using some constructed class that you've designed to optimise the processes you are running. For example, their might be some useful heuristics that will help strip out various factors, or maybe converting the number into decimal, you could run some kind of mask/pattern matching on it (I'm not 100% sure what I'm talking about here actually so I'll shut up quickly before I embarrass myself) Anyway, good luck and I'll have a think about how else we could approach this.
|