Can exact square roots not be found?

The square roots of non-perfect-square-integers are irrational numbers, which means that they have an infinite number of decimals, that do not repeat. So it would be a little tedious to write down the exact value...


Square roots can be computed, among others, by the so-called Heron's method (known BC), which is of the "guess" type, but converges extremely fast.


I understand that this question is actually about the representation of the square root in binary (float) or decimal notation.

However, that is not what these numbers are about themselves.

$\sqrt 3$ is itself a perfectly valid number and an exact representation of the number that is the square root of 3. It can't be exactly represented as a binary or decimal number as these representations ar fairly limited (you can't even find an exact $1/3$ in either of those). But you can find it up to a certain precision.

Furthermore, these representations are actually used in computers. For example, Wolfram Mathematica will not replace $\sqrt 3$ or $\frac 2 {17}$ with an approximate representation which could screw up simplification later on. If you need the precision, you can exactly the same - store the numbers in a fancy structure that allows you to save the fact that it's a root of some number.


It depends what data types you have available in your programming environment. Typically, you’d be using double-precision floating-point numbers. But floating-point numbers are always rational numbers (quotient of two integers), and square roots are often not rational, so they can’t be represented exactly by floating-point values.

If you have a more exotic set of data types, you may be able to represent some (but not all) square roots exactly.

But there’s not really much point calculating square roots exactly unless our divisions and trig functions are also exact (which they are not, in floating-point math).