Gregg Morrison wrote:
Yes, it is hard to tell when perl switches from int or long to float, and you won't start losing integer precision until you start getting into really large float values... you'd have to experiment to find out exactly when on which platform. But I think if you want true 64 bit integer math you need perl compiled on a 64 bit machine (like a Digital Alpha), then you need to do aOn Mon, 21 Jun 2004 02:37:42 -0700 "Anthony Nemmer" <[EMAIL PROTECTED]> wrote:
$dummy = 2048*1024*1024; printf("%llu $dummy\n",$dummy); $dummy *= 2; printf("%llu $dummy\n",$dummy); $dummy *= 2; printf("%llu $dummy\n",$dummy);
with active perl build 804 for win32 I obtain: 2147483648 2147483648 4294967295 4294967296 4294967295 8589934592
and that version is not compiled with use64bitint set.
the only thing that doesn't work seems to be %lld in printf.
Could this be casting Text Value to Floating Point ?
use integer;
and even then, it's still going to be SIGNED integer (so really you are getting 63 bit integers.) Someone pointed out that perl is smart enought to know when to use unsigned integers as opposed to signed integers, but I didn't understand the post.
Tony
Gregg Morrison [EMAIL PROTECTED]
_______________________________________________ ActivePerl mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
--
SKYKING, SKYKING, DO NOT ANSWER.
_______________________________________________ ActivePerl mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
