The whole point ( no pun intended ) of floating point numbers, is that you sacrifice accuracy for a wide range. Both in terms of large numbers, and lots of decimal places.
Basically, to represent a large number, FP holds part of it in one place, and the exponent in another. By definition, you lose the less significant part.
This will give you results like you’re seeing.
If you want to have very large ints, and then add 1 and get ‘very large int + 1’, then you have to use multi word ints, or Mathematica.