On 2017-07-07 17:08, Bart wrote:
On 7/7/17, nore...@z505.com <nore...@z505.com> wrote:

For integers beyond 64 bit, or even beyond 32 bit on a 64 bit machine,
why can't the math be broken down into peices the way a human does it on
paper, and then theoretically any number can be added and subtracted,
even if it is beyond 32/64 bit?

Example:

type TSuperLargeInt = string;

var
   i, j: TSuperLargeInt;
   output: TSuperLargeInt;
begin
   i := '100000000000000000009';
   j := '100000000000000000001';
   output := AddLargeInts(i,j);
   writeln(output);
end.

http://svn.code.sf.net/p/flyingsheep/code/trunk/wtf/ncalc.pp does exactly that
(all dependenies are also found at
http://svn.code.sf.net/p/flyingsheep/code/trunk/wtf).
...

It's not lightning fast, but there is room for optimization I guess.

Bart

I knew someone had already invented this!
Any idea if it does square roots, and, decimal point numbers too..

Or, what math can it "not" do.. things like sin/tan/cos, or strange maths..

Probably a complex question requiring a complex answer

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to