Representing $100001$ in floating point system There's an example in my textbook about cancellation error that I'm not totally getting. It says that with a $5$ digit decimal arithmetic, $100001$ cannot be represented.

I think that's because when you try to represent it you get $1*10^5$, which is $100000$. However it goes on to say that when $100001$ is represented in this floating point system (when it's either chopped or rounded) it comes to $100000$.

If what I said above is correct, does $100001$ go to $100000$ because of the fact that it can only be represented like $1*10^5$? 

If I'm completely off the mark, clarification would be great.
Yes, you only have five decimal digits available.  $100001=1.00001*10^5$ but I have six digits in the mantissa.  Clearly it is closer to go to $1.0000$ than to $1.0001$, so that is what we will do.  So the numbers around here that can be represented are $99998, 99999, 100000, 100010, 100020,$ etc.
That is correct. You have what is called type overflow.  Want to be amused?  If you have a C compiler run this program

#include&lt;stdio.h&gt;
int main(void)
{
    int x = 1;
    while (x &gt; 0)
    {
        x = x + 1;
    }
    printf("x = %d\n", x);
}


It's educational.  This is in integer-world so it's simpler than floating point numbers, but these have an analogous problem: loss of precision. I recommend Forman Acton's Real Computing Made Real for a discussion of this issue.