Thanks for the reply Janek.
If the number is converted to float, then as the result shows, the
number is truncated a bit,
from -9223372036854775808 to -9.22337203685478e+18.
If yes, then how come
printf "ok %f", $a;
still gives the correct number(without truncation).
The output is : ok -9223372036854775808.000000
Thanks & Regards
Geeta
-----Original Message-----
From: Janek Schleicher [mailto:[EMAIL PROTECTED]]
Sent: Friday, September 27, 2002 4:52 PM
To: [EMAIL PROTECTED]
Subject: Re: Regarding decrementing IV_MIN(Integer minimum)
Geeta Kathpalia wrote at Fri, 27 Sep 2002 13:57:29 +0200:
> I am executing the following perl code(using 5.8.0):
>
> $a = -9223372036854775808;
> $a--;
> if ($a == -9223372036854775807)
> {
> print "ok \n";
> }
>
> The output which i get is that: ok get printed.
>
> How is it possible??
Changing your script a bit to
$a = -9223372036854775808;
$a--;
if ($a == -9223372036854775807)
{
print "ok ($a)\n";
}
explains what happens,
as now is printed
ok (-9.22337203685478e+18)
Obviously, Perl converts the number automatic to a float,
where the one more or less isn't important any longer.
Greetings,
Janek
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]