Hacker News new | ask | show | jobs
by ars 3079 days ago
> I'm curious, how?

As 1/3 - exactly as it's on your screen. All rational numbers can be represented exactly.

1 comments

Hmm, yes, it can be represented in ASCII. But you still have to approximate when storing it in a way that is actually useful for computation using a finite number of bits.
Many real programming languages support arbitrary precision decimal and/or rational numbers.

Sure, there are times when space or speed concerns favor inexact representation over correctness, but that's an optimization that ought to be properly evaluated; the fact that lots of languages are designed in a way which makes it the default everyone reaches for contributes to lots of errors.

    struct rational {
        int numerator;
        int denominator;
    };