Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: NV/IV Bug ?

by extremely (Priest)
on Feb 27, 2003 at 18:48 UTC ( #239203=note: print w/replies, xml ) Need Help??

in reply to NV/IV Bug ?

1.15 in binary is... ooops, an infinite series. There is special magic in place for what is basically 1.1499999999999 when multiplied and printed. But when you you force to int(), you dodge that magic and get the proper truncated value.

$you = new YOU;
honk() if $you->love(perl)

Replies are listed 'Best First'.
Re: Re: NV/IV Bug ?
by MZSanford (Curate) on Feb 27, 2003 at 18:52 UTC
    Thanks, that explains. Inconsistant (by design) Magic application. If neither worked, i would not have posted ... i do understand floating point numbers, but the inconsistancy was bothering me. Thanks again.
    from the frivolous to the serious

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://239203]
[pryrt]: 1nickt, sprintf "%.16e", $v will always give enough precision to see 1 ULP (the smallest fractional part) of a standard 64bit Perl NV*
[pryrt]: (*: for systems where $Config{nvsize}==8 )
[pryrt]: Thus, that's "enough precision" to tell the difference between 1.0 and 1.0+1ULP
[pryrt]: But in what circumstance does your problem arise? When, in Perl, does the integer 1 not work identically to the floating-point NV 1.0000000000000000 e0?

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (16)
As of 2017-05-24 19:15 GMT
Find Nodes?
    Voting Booth?