Bug in equality checks? 28.15e-3 == 28.15/1000 false
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Gustavo Lunardon
il 15 Ott 2021
Commentato: Paul
il 15 Ott 2021
Why does this happen? It does not regocnize equality on 7.48e-3 == 7.48/1000, but it does on 7.47e-3 == 7.47/1000 as well. Another example below.
28.1e-3 == 28.1/1000
28.15e-3 == 28.15/1000
0 Commenti
Risposta accettata
Star Strider
il 15 Ott 2021
Wellcome to the world of floating-point approximation error!
This is roughly equivalent to expressing in decimals. The result is 0.3 an infinite number of 3 following it, never being excactly equal to .
.
9 Commenti
Image Analyst
il 15 Ott 2021
I think the abs() is needed because one quantized expression could be above or below the other quantized expression, and I don't think you'd know which it will be in general.
Paul
il 15 Ott 2021
Exactly and well said. I should have included a statement to that effect in my comment
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!