help-octave
[Top][All Lists]

## Re: floating point precision question

 From: Martin Helm Subject: Re: floating point precision question Date: Tue, 18 Jan 2011 13:28:45 +0100 User-agent: KMail/1.13.5 (Linux/2.6.34.7-0.7-desktop; KDE/4.5.5; x86_64; ; )

```Am Dienstag, 18. Januar 2011, 13:04:39 schrieb Piotr Isajew:
> Hi,
>
> I've been trying to use Octave (3.2.4) for some very simple
> computations, and noticed a strange behaviour when
> incrementing/comparing floating point numbers. In short:
>
>
> octave:150> 0.15 == (0.10 + 0.05)
> ans = 0
>
> why?
>
> An even better test is:
>
> octave:1> A=0.15
> A =  0.15000
> octave:2> B=(0.10+0.05)
> B =  0.15000
> octave:3> A==B
> ans = 0
> octave:4> save /tmp/test A B
> octave:5> A==B
> ans = 0
> octave:6> load /tmp/test A B
> octave:7> A==B
> ans =  1
>
> Is there any setting I could use to obtain better precision here?

This is not a question of precision but a question of representation. Numbers
like 0.1 cannot be represented exactly as binary fractions independent on how
many bits per number you use. Google for IEEE 754 or just have a look at this
elementary article which explains it much better

http://en.wikipedia.org/wiki/Floating_point

```