requiem
asked on
Int64 Constants Range
I wonder why Delphi will not allow me to input this number in my source code (as a constant):
i := -9223372036854775808;
"i" is defined as a Int64 and should actually be able to hold this value! Most remarkable is that this works though:
i := -9223372036854775807-1;
ShowMessage(IntToStr(i));
And this code also displays exactly the number I could not enter?! So appearantly Delphi programs can handle this large negative number, but the IDE will not allow you to enter them?
Am I missing something here? I think this is weird?!
I'm not stuck or anything, my program works but.. I just wonder if anyone knows *why* Delphi behaves like this??
/m
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I would think that the error is in the parser...maybe the parser only allows the 19th digit in int64 literals to be <= 7 (instead of 7 for positive and 8 for negative).
ASKER
I guess this one will be unsolved.
Did you test iint64tostr( ) function ?