Originally posted by FabianFnasWell you can borrow my Hexiry computer, it has 6 states, so it can hold both 1/3 and 1/2 exactly at the same time. Its a Hewlett Packardd X10000ZEL upgrade with the Hexiry CPU, it also has 10 terabytes of 6 port ram operating at one picosecond access time so its pretty fast too.....
As computers are using binary memories, 1/3 can't be expressed exactly.
However, a computer with trinary memories (where a bit can store one out of three states), 1/3 is perfectly possible to store (as 1/3 is 0.1 trinary).
But this trinary computer can't prove the (1/2)*2=1 identity as 1/2 cannot be exactly represented in trinary memories.
Originally posted by sonhouseexcept that all commercial CPU's operate in binary at the lowest level of abstraction. it's possible to represent ternary or hexary states in binary, just like it's possible to represent decimal.
Well you can borrow my Hexiry computer, it has 6 states, so it can hold both 1/3 and 1/2 exactly at the same time. Its a Hewlett Packardd X10000ZEL upgrade with the Hexiry CPU, it also has 10 terabytes of 6 port ram operating at one picosecond access time so its pretty fast too.....
as said before, you can represent all rational numbers as a numerator and denominator using integers.
If you want to do something like pi * 1/pi, it's quite easy to represent pi as a symbol (just like I did here), and program the computer to cancel the pi in the numerator with the pi in the denominator.
In fact you can represent any distinct real number as a symbol and use it with exact precision, just so long as your result has the same symbol or it cancels in some way.
It's when you start doing things more complicated than algebra, or if you try to represent your real number in decimal/binary/ternary/whatever that you start to run into problems with precision.
Originally posted by forkedknightIn this kind of calculation, the true value of pi isn't important. pi can be whatever (except zero) and the calculation is valid anyway. So if you define pi to be =1 (exactly) noone will know the difference.
If you want to do something like pi * 1/pi, it's quite easy to represent pi as a symbol (just like I did here), and program the computer to cancel the pi in the numerator with the pi in the denominator.
Originally posted by FabianFnasMy point is that it's not an issue with _representing_ a given value in a computer that is the problem.
In this kind of calculation, the true value of pi isn't important. pi can be whatever (except zero) and the calculation is valid anyway. So if you define pi to be =1 (exactly) noone will know the difference.
Any possible value (or object, or idea -- that's the beauty of computers) can be representing using binary states. The problem is _converting_ that value into a different unit of measurement (or whatever unit has been used to represent a different value).
It's in the conversion of units that precision is lost