Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Behaviour of int() unexpected

by Anonymous Monk
on Mar 10, 2025 at 21:32 UTC ( [id://11164221]=note: print w/replies, xml ) Need Help??


in reply to Behaviour of int() unexpected

What Every Programmer Should Know About Floating-Point Arithmetic: https://floating-point-gui.de/

8.95 is stored as 8.94999980926513671875 and int rounds down.

Replies are listed 'Best First'.
Re^2: Behaviour of int() unexpected
by ikegami (Patriarch) on Mar 11, 2025 at 00:19 UTC

    Perl normally uses double for floating point numbers, even on 32-bit machines. You can find out what your perl uses as follows:

    $ perl -V:nvtype nvtype='double';

    A double is an IEEE double-precision number on a desktop computer.

    As such, 8.95 is actually stored as 0x1.1E66666666666 * 2^3 = 8.949999999999999289457264239899814128875732421875.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11164221]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2025-05-21 02:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.